Categorías
Powershell Windows

¿Cómo desintalar componentes del sistema?

La mejor forma es a traves de powershell

Primero sacamos un listado de todos los componentes que tenemos instalados

Get-AppxPackage | Select-Object Name

Luego entre ** ponemos el nombre, entre asteriscos es como una búsqueda

Get-AppxPackage *Microsoft.DevHome* | Remove-AppxPackage

Componentes que podrías considerar eliminar

Estos son los que tienen una función más clara y que, si no utilizas, podrías quitar, siempre con precaución

Microsoft.WindowsStore: La Tienda de Microsoft. ¡MUCHA PRECAUCIÓN AQUÍ! Si la eliminas, no podrás instalar ni actualizar ninguna aplicación de la Tienda, ni muchas de las que mencionamos aquí. Solo hazlo si NUNCA vas a usar la Tienda y estás seguro de cómo manejar las actualizaciones de tus apps.

Microsoft.XboxGameOverlay (anteriormente Microsoft.GamingOverlay): La barra de juegos de Xbox. Si no juegas en PC o no usas esta superposición.

Microsoft.MixedReality.Portal: Si no tienes ni planeas usar dispositivos de realidad mixta (VR/AR) como las HoloLens o auriculares de Windows Mixed Reality.

AppUp.IntelGraphicsControlPanel / AppUp.IntelGraphicsExperience: Probablemente el centro de control o la aplicación de soporte de los gráficos Intel. Si usas drivers directamente de Intel o no necesitas esta aplicación (aunque suele ser útil para configuraciones de pantalla y gráficos).

Microsoft.MicrosoftEdge.Stable: El navegador Edge. ¡Solo si usas otro navegador exclusivamente y estás seguro de no necesitarlo para ninguna tarea del sistema! Ten en cuenta que Edge a veces se usa para visualizar contenido web dentro de otras aplicaciones de Windows.

Microsoft.MicrosoftEdgeDevToolsClient: Herramientas de desarrollo para Edge. Solo si no eres desarrollador web y no usas las herramientas de desarrollo de Edge.

Microsoft.Windows.Photos: La aplicación Fotos de Windows. Si usas otro visor de imágenes.

Microsoft.ScreenSketch: Herramienta de recortes y anotaciones. Si usas otra herramienta de captura de pantalla.

Microsoft.WindowsCalculator: La calculadora de Windows. Si usas otra calculadora o prefieres una web.

Microsoft.WindowsTerminal: El nuevo terminal de Windows (PowerShell, CMD, WSL). Si solo usas el CMD o PowerShell clásico.

Microsoft.WindowsNotepad: El Bloc de notas de Windows. Si usas otro editor de texto.

Microsoft.Paint: Paint de Windows. Si usas otro editor de imágenes o no lo necesitas.

Microsoft.YourPhone (Enlace Móvil / Phone Link): Si no usas la integración de tu teléfono (Android/iOS) con Windows.

Microsoft.GetHelp: La aplicación «Obtener ayuda». Si no la usas.

Microsoft.StorePurchaseApp: Relacionado con compras en la tienda. Si no compras apps.

Microsoft.WidgetsPlatformRuntime: Si has deshabilitado o no usas los widgets de la barra de tareas.

Categorías
Powershell

Habilitar el Firewall de Windows con Powershell

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Categorías
Powershell

Resolución de DNS con powershell

Script en powershell para la resolución de IP

$computers= Get-Content C:\sql.txt
$list = @()
Foreach ($computername in $computers)
{
    If(Test-Connection $computername -Quiet)
    {
        write-host "$computername - $IP - OK" -ForegroundColor GREEN
        Try
            {
            $IP = [System.Net.Dns]::GetHostEntry($computername).AddressList | %{$_.IPAddressToString}
            $IP | %{$HostName = [System.Net.Dns]::GetHostEntry($_).HostName}
            }
        Catch
        {
            write-error "NO se puede resolver el IP o DNS."
        }
        $compStatus = New-Object PSObject -Property @{
            Equipo = $computername
            Status = $true
            DNS = $HostName
            IP = $IP
    }
        $list += $compStatus
    }
    Else
    {
        write-host "$computername - $IP - NO_OK" -ForegroundColor RED
        $IP = $null
        $HostName = $null
        $compStatus = New-Object PSObject -Property @{
            Equipo = $computername
            Status = $false
            DNS = $null
            IP = $null
        }
    $list += $compStatus
    }
}
$list | Export-Csv c:\prueba2.csv -NoTypeInformation
Categorías
Powershell

Cómo borrar los ficheros de un directorio transcurrido x dias con powershell

$lsFecha = Get-Date
$lsDias = "69"
$lsDirectorio = "E:\directoriodeborrado"
$lsFechaBorrado = $lsFecha.AddDays(-$lsDias)

$Files = get-childitem $lsDirectorio -recurse -force | Where {!$_.PSIsContainer} | Where {$_.LastWriteTime -le "$lsFechaBorrado"}

foreach ($File in $Files)
{IF ($Files -ne $NULL)
{write-host "Borrado File $File.FullName" -foregroundcolor "Red" ; Remove-Item $File.FullName -recurse -force}
}
ls $lsDirectorio -r -fo | ? {$_.psIsContainer} sort fullName -des | ? {!(ls $_.fullName -fo)} | ri

#send-mailmessage -to "mie-email@midominio.com" -from "servidorqueenvia@midominio.com" -subject "Fin eliminación directorios con mas de 3 dias BACKUP" -body "Fin eliminación directorios con mas de 3 dias BACKUP" -SmtpServer mimailserver.midominio.com
Categorías
Powershell

No se puede cargar el archivo .ps1 porque en el sistema está deshabilitada la ejecución de scripts

Si usted está leyendo esto por primera vez, PowerShell puede que sólo aparece el mensaje de error como se ha intentado ejecutar una secuencia de comandos.

El archivo C:\script.ps1 no se puede cargar porque en el sistema está deshabilitada la ejecución de scripts. Vea "get-help about_signing" para obtener más información.

La directiva de ejecución de PowerShell defecto se llama «Restricted«. En este modo, PowerShell funciona como un shell interactivo solamente.

¿Que es shell interactivo?

Significa, no ejecutar secuencias de comandos, y sólo carga los archivos de configuración firmados por un editor de confianza.

¿Como cambiar el shell interactivo?

Debe cambiar el valor desde linea de comandos del powershell, ejecutandose como administrador.

Set-ExecutionPolicy Unrestricted

Parámetros de Set-ExecutionPolicy

  • Restricted: No carga archivos de configuración ni ejecuta scripts. La configuración predeterminada es «Restricted».
  • AllSigned: Requiere que todas los scripts y archivos de configuración estén firmados por un editor de confianza, incluidos los scripts que se escriban en el equipo local.
  • RemoteSigned: Requiere que todos los scripts y archivos de configuración descargados de Internet estén firmados por un editor de confianza.
  • Unrestricted: Carga todos los archivos de configuración y ejecuta todos los scripts. Si ejecuta un script sin firmar descargado de Internet, se le pedirá permiso antes de ejecutarlo.
  • Bypass: No se bloquea nada y no hay advertencias ni peticiones.
  • Undefined: Quita del ámbito actual la directiva de ejecución asignada. Este parámetro no quita ninguna directiva de ejecución establecida en un ámbito de directiva de grupo.