One-liners de PowerShell para admins Windows: instalación, hardening y tuning (2025)
Tiempo de lectura: 10–12 min
Resumen ejecutivo
Si gestionas parques Windows, estos one-liners te ayudan a construir equipos reproducibles y seguros en minutos: instalación de apps, hardening por plantillas, características del sistema y diagnóstico. Incluyo advertencias, casos de uso y bloques “copiar/pegar”.
⚠️ Seguridad ante todo
- Evita
… | iex
a ciegas. Descarga y audita el script antes (-OutFile
+ revisión).- Usa
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
para no tocar políticas globales.- Aplica en VM/snapshot o con punto de restauración.
- Documenta los cambios (ticket, PR en tu repo de plataforma).
🧰 Bootstrap & gestores de paquetes
1) WinUtil (instalación y ajustes en una UI)
Cuándo usar: imágenes “golden” o puesta a punto rápida con catálogo curado.
irm https://christitus.com/win | iex
Pro tip: exporta tu configuración y ejecútala en modo desatendido.
2) Sophia Script (afinación fina y privacidad)
Cuándo usar: hardening/telemetría, UX y servicios con control granular (Windows 10/11).
iwr script.sophia.team -UseBasicParsing | iex
# después ejecuta las funciones que necesites en Sophia.ps1
3) Debloat (limpieza de bloatware)
Cuándo usar: VDI, equipos nuevos o “repavimentación” controlada.
⚠️ Usa listas de exclusión y prueba en piloto: puede afectar apps UWP legítimas.
iwr -useb https://git.io/debloat | iex
4) Chocolatey (clásico gestor de paquetes)
Cuándo usar: catálogos amplios, pipelines maduros, servidores/VDI.
Set-ExecutionPolicy Bypass -Scope Process -Force; `
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; `
iex ((New-Object Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
5) Scoop (apps portables y CLI)
Cuándo usar: dev boxes, herramientas portables sin UAC/MSI.
iwr -useb get.scoop.sh | iex
6) Boxstarter (provisioning resistente a reinicios)
Cuándo usar: scripts de aprovisionamiento con múltiples reinicios y configuración de sistema.
start https://boxstarter.org/package/nr/sysinternals,fiddler4,itunes
7) WinGet (estado deseado de apps y configuración)
Cuándo usar: estándar moderno en Windows 10/11, export/import y DSC con YAML.
winget export -o .\apps.json
winget import -i .\apps.json --accept-package-agreements --accept-source-agreements
# Desired State (DSC)
winget configure --file .\config.dsc.yaml
🛡️ Hardening y actualización
8) HardeningKitty (baseline + mejores prácticas)
Cuándo usar: auditorías rápidas y alineación a plantillas conocidas.
# Ejemplo: auditoría y “hail mary” según plantilla
Invoke-HardeningKitty -Mode Audit -Log .\HK.log
Get-HardeningKittyStandard -BestPractice 'MSFT Windows Client' | `
Invoke-HardeningKitty -Mode HailMary
9) PSWindowsUpdate (Windows Update por PowerShell)
Cuándo usar: servidores sin GUI, automatización y “patch Tuesday”.
Install-Module PSWindowsUpdate -Force
Get-WindowsUpdate -Install -AcceptAll -AutoReboot
⚙️ Características del sistema (one-liners útiles)
Objetivo | Comando | Nota |
---|---|---|
Habilitar Hyper-V | Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All |
Alternativa: DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V |
Instalar .NET 3.5 | DISM /Online /Enable-Feature /FeatureName:NetFx3 /All |
Para offline: -Source <unidad>:\sources\sxs -LimitAccess |
RSAT completo | Get-WindowsCapability -Name RSAT* -Online | Add-WindowsCapability -Online |
Filtra por rol si no quieres todo |
Habilitar PS Remoting | Enable-PSRemoting -Force |
Abre WinRM y firewall (restringe por GPO/red) |
WSL en 1 línea | wsl --install |
Añade distro específica y features según caso |
🔍 Diagnóstico imprescindible
10) Sysinternals Suite
Cuándo usar: troubleshooting avanzado (procmon, procexp, autoruns, etc.).
winget install "Sysinternals Suite" --accept-package-agreements
🧪 Playbooks “copiar y pegar”
A) Post-instalación express (apps + parches)
# 1) Importa apps corporativas
winget import -i .\apps.json --accept-package-agreements --accept-source-agreements
# 2) Aplica configuración DSC (ajustes de sistema)
winget configure --file .\config.dsc.yaml
# 3) Parchea y reinicia si es necesario
Install-Module PSWindowsUpdate -Force
Get-WindowsUpdate -Install -AcceptAll -AutoReboot
B) Habilitar entorno de virtualización + herramientas
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
winget install "Sysinternals Suite" --accept-package-agreements
wsl --install
💡 Consejo: guarda tus YAML/JSON en un repo privado (por ejemplo,
platform/windows/base/
), versiona cambios y usa PRs para trazabilidad.
✅ Checklist de control posterior a cambios
- Registro de cambios cargado al ticket/incidencia
- Snapshot/restauración verificada
-
sfc /scannow
yDISM /Online /Cleanup-Image /RestoreHealth
sin errores - Escaneo antimalware/EDR completado
- Telemetría y logs (SIEM) sin alertas nuevas
- Rendimiento aceptable (CPU/IO) tras 24 h
❓ Preguntas frecuentes (FAQ)
¿Es seguro usar … | iex
?
Sí si auditas el contenido antes. Prefiere descargar primero:
irm <URL> -OutFile .\script.ps1; notepad .\script.ps1
# revísalo y ejecútalo explícitamente:
.\script.ps1 -ParametrosSeguros
¿WinGet o Chocolatey?
Usa WinGet si priorizas integración nativa y DSC YAML. Elige Chocolatey si ya tienes pipelines maduros o paquetes internos consolidados.
¿Cómo limito el alcance de ejecución?
Aplica la política sólo a la sesión:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
¿Puedo revertir cambios de “debloat”?
Sí, si mantienes listas de exclusión/backup. En UEM/Intune, modela como proactivo con detección y corrección inversa.
Conclusión
Estandarizar tu playbook de one-liners reduce tiempos de despliegue, mejora la conformidad y baja el MTTR en incidencias. Empieza por WinGet (export/import), añade hardening con plantillas auditables y cierra con diagnóstico Sysinternals. Todo versionado y con rollback claro.
CTA
¿Quieres que convirtamos esta guía en un script corporativo con menú, telemetría y reporting para tu entorno? En soluciones.si lo automatizamos, auditamos y lo integramos con tu UEM/Intune/ConfigMgr.