PowerShell para principiantes

Si usas Windows desde hace años y todavía abres el viejo cmd.exe para tareas de línea de comandos, te estás perdiendo una herramienta que cambió por completo la forma de administrar un sistema Microsoft: PowerShell. Y al contrario de lo que mucha gente piensa, no es solo un “prompt mejorado”: es un lenguaje de script orientado a objetos que corre en Windows, Linux y macOS. Vamos de cero a tu primer script útil en menos de 10 minutos.
Qué hace diferente a PowerShell
Creado en 2006 por Jeffrey Snover en Microsoft, PowerShell se construyó sobre .NET e introdujo un concepto revolucionario respecto al cmd: en lugar de pasar texto entre comandos, pasa objetos. Eso lo cambia todo.
Cuando ejecutas Get-Process en PowerShell, lo que obtienes no es una tabla formateada como string, es una colección de objetos System.Diagnostics.Process, cada uno con propiedades como Name, CPU, Id, WorkingSet. Eso significa que filtrar, ordenar y extraer datos resulta muchísimo más simple y fiable que usar grep y awk sobre salidas de texto.
En 2016, Microsoft liberó el código de PowerShell Core (hoy simplemente PowerShell 7+), que corre multiplataforma. Así que sí: puedes usar los mismos scripts en Windows Server y en un contenedor Linux.
Abriendo la terminal y orientándote
En Windows 10/11, pulsa Win + X y elige “Terminal (Admin)” o “Windows PowerShell”. La versión moderna recomendada es PowerShell 7+, instalable desde la Microsoft Store o con winget install Microsoft.PowerShell.
Los cmdlets siguen el patrón Verbo-Sustantivo, extremadamente predecible. ¿Quieres listar algo? Get-. ¿Quieres crear? New-. ¿Quieres eliminar? Remove-. Esa consistencia es una de las grandes ventajas frente al cmd.
# Listar archivos y carpetas en el directorio actual
Get-ChildItem
# Mismo resultado, con alias familiar (sí, ls funciona)
ls
# Navegar entre directorios
Set-Location C:\Users\TuUsuario
# Crear una carpeta nueva
New-Item -ItemType Directory -Name "MiCarpeta"
# Leer el contenido de un archivo
Get-Content .\archivo.txt
# Descubrir TODOS los cmdlets disponibles para procesos
Get-Command -Noun Process
El pipeline de objetos en la práctica
Aquí es donde PowerShell brilla. El operador | (pipe) pasa objetos enteros entre cmdlets. Mira un ejemplo real: quiero descubrir los 5 procesos que más consumen CPU en mi computadora y exportarlos a CSV.
Get-Process |
Sort-Object CPU -Descending |
Select-Object -First 5 Name, Id, CPU, WorkingSet |
Export-Csv -Path ".\top-procesos.csv" -NoTypeInformation
Cuatro líneas, cero parsing de texto. Intenta hacer eso en el cmd, vas a llorar.
Otro ejemplo útil: detener todos los procesos de Chrome que están colgados.
Get-Process -Name "chrome" |
Where-Object { $_.Responding -eq $false } |
Stop-Process -Force
El $_ es el objeto actual dentro del pipeline. Where-Object filtra; Stop-Process termina el proceso. Legible incluso para quien nunca vio PowerShell en su vida.
Tu primer script .ps1
Crea un archivo backup-docs.ps1 con el siguiente contenido:
$origen = "$env:USERPROFILE\Documents"
$destino = "D:\Backups\Documents_$(Get-Date -Format 'yyyy-MM-dd')"
New-Item -ItemType Directory -Path $destino -Force | Out-Null
Copy-Item -Path $origen\* -Destination $destino -Recurse -Force
Write-Host "Backup completado en $destino" -ForegroundColor Green
En la primera ejecución, es posible que Windows se queje de la política de ejecución. Habilita los scripts locales ejecutando esto (como administrador):
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Después solo hace falta .\backup-docs.ps1 y tus documentos se copian con la fecha en el nombre de la carpeta. Prográmalo en el Task Scheduler y tienes copias de seguridad automáticas sin pagar un centavo.
Por qué vale la pena en 2026
- Automatización real: tareas repetitivas de 20 minutos se convierten en scripts de 30 segundos
- Administración de Windows: usuarios, permisos, Active Directory, servicios, GPO, todo vía PowerShell (incluyendo auditar logs de seguridad)
- Azure y Microsoft 365: el módulo
AzyExchangeOnlineManagementson prácticamente indispensables en entornos corporativos - DevOps: GitHub Actions, Azure Pipelines y scripts de CI en Windows suelen usar PowerShell
- Multiplataforma: PowerShell 7+ corre en Linux y macOS, puedes gestionar un parque heterogéneo con el mismo lenguaje
La curva de aprendizaje es moderada: te sientes productivo en pocos días y dominante en algunas semanas. Para quien vive en entornos Windows, pocas inversiones tienen un retorno tan rápido.
¿Qué tarea aburrida haces con el ratón cada semana y nunca automatizaste? Cuéntanoslo en los comentarios, tal vez el próximo post sea exactamente el script que necesitas.




Comentarios