PowerShell sigue siendo una de las herramientas más útiles para administrar Windows sin depender continuamente de interfaces gráficas. Desde consultar procesos y servicios hasta analizar eventos, probar conexiones de red o ejecutar acciones en varios servidores, dominar un pequeño conjunto de cmdlets permite resolver buena parte del trabajo cotidiano desde una terminal. Además, en 2026 Microsoft mantiene PowerShell 7.6 como versión LTS, con soporte previsto hasta noviembre de 2028.
Las claves de PowerShell para administradores en 30 segundos
- PowerShell trabaja principalmente con objetos, no simplemente con texto, lo que permite encadenar comandos y filtrar información con precisión.
- Los cmdlets siguen normalmente la estructura
Verbo-Sustantivo, comoGet-ServiceoRestart-Service. - PowerShell sirve para administrar procesos, servicios, archivos, eventos, red y equipos remotos.
Get-WinEventdebe sustituir aGet-EventLogen administraciones modernas.- Conocer unos 20 comandos cubre una parte considerable de las tareas habituales de diagnóstico y operación.
Para quien llega desde Linux, algunos conceptos resultarán familiares: Get-ChildItem desempeña un papel parecido a ls, Set-Location a cd y Get-Content puede utilizarse de forma similar a cat. La diferencia importante aparece cuando se empieza a encadenar información: PowerShell devuelve objetos con propiedades y métodos que pueden filtrarse, ordenarse o enviarse a otros comandos.
Los comandos básicos que conviene dominar
1. Get-Help: consultar cómo funciona cualquier cmdlet
No es necesario memorizar todos los parámetros de PowerShell. Get-Help permite consultar la documentación desde la propia consola.
Get-Help Get-Process
Get-Help Get-Process -Examples
Para actualizar la ayuda instalada:
Update-Help
2. Get-Command: descubrir comandos disponibles
Resulta especialmente práctico cuando se conoce la tarea que se quiere realizar, pero no el nombre exacto del cmdlet.
Get-Command *service*
Get-Command -Verb Restart
3. Get-Process: comprobar los procesos activos
Get-Process
Get-Process -Name powershell
También puede combinarse con otros cmdlets:
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10Lenguaje del código: JavaScript (javascript)
Así se obtienen los diez procesos que más CPU han acumulado.
4. Stop-Process: finalizar un proceso
Stop-Process -Name notepad
Si el proceso no responde:
Stop-Process -Name notepad -Force
El parámetro -Force debe utilizarse con cuidado, especialmente en servidores.
5. Get-Service: revisar servicios
Get-Service
Get-Service -Name Spooler
Un administrador puede localizar únicamente los servicios detenidos:
Get-Service | Where-Object Status -eq "Stopped"Lenguaje del código: JavaScript (javascript)
6. Start-Service, Stop-Service y Restart-Service
Aunque técnicamente son tres cmdlets diferentes, forman el conjunto básico para operar con servicios:
Start-Service -Name Spooler
Stop-Service -Name Spooler
Restart-Service -Name Spooler
Antes de detener servicios críticos conviene comprobar sus dependencias y el impacto sobre las aplicaciones.
7. Get-ChildItem: recorrer archivos y directorios
Get-ChildItem C:\Logs
Para recorrer subdirectorios:
Get-ChildItem C:\Logs -Recurse
También admite filtros:
Get-ChildItem C:\Logs -Filter *.logLenguaje del código: CSS (css)
8. Set-Location: cambiar de directorio
Set-Location C:\WindowsLenguaje del código: JavaScript (javascript)
PowerShell mantiene además el conocido alias:
cd C:\Windows
9. Copy-Item: copiar archivos y directorios
Copy-Item C:\Logs\app.log D:\Backup\Lenguaje del código: CSS (css)
Para copiar un directorio completo:
Copy-Item C:\Projects D:\Backup\ -Recurse
10. Move-Item: mover archivos
Move-Item C:\Reports\Report.txt D:\Archive\Lenguaje del código: CSS (css)
Puede utilizarse también para renombrarlos:
Move-Item old.log new.logLenguaje del código: CSS (css)
11. Remove-Item: eliminar archivos y directorios
Remove-Item C:\Temp\old.logLenguaje del código: CSS (css)
Para eliminar un árbol completo:
Remove-Item C:\Temp\TestFolder -Recurse
Aquí merece la pena extremar la precaución: Remove-Item no debe entenderse como el equivalente a enviar un archivo a la Papelera de reciclaje.
12. Get-Content: leer archivos y seguir logs
Get-Content C:\Logs\application.logLenguaje del código: CSS (css)
Una de sus funciones más prácticas para administradores es seguir un archivo mientras se actualiza:
Get-Content C:\Logs\application.log -WaitLenguaje del código: CSS (css)
Es un uso parecido a:
tail -f application.logLenguaje del código: CSS (css)
en Linux.
13. Set-Content y Add-Content: escribir en archivos
Set-Content C:\Temp\status.txt "Servidor operativo"Lenguaje del código: JavaScript (javascript)
Set-Content reemplaza el contenido existente. Si se quiere añadir información:
Add-Content C:\Temp\status.txt "Backup completado"Lenguaje del código: JavaScript (javascript)
La diferencia evita más de un disgusto al trabajar con logs o archivos de configuración.
Diagnóstico de Windows y redes
14. Test-Connection: comprobar conectividad
Test-Connection server01
Para limitar las comprobaciones:
Test-Connection server01 -Count 2
Aunque recuerda a ping, PowerShell devuelve objetos que después pueden procesarse.
15. Test-NetConnection: algo más útil que un simple ping
Para un administrador suele resultar incluso más interesante comprobar directamente si responde un determinado puerto:
Test-NetConnection server01 -Port 443
Puede ayudar a distinguir rápidamente entre un servidor inaccesible y un servicio concreto que no acepta conexiones.
16. Get-ComputerInfo: conocer el equipo
Get-ComputerInfo
La cantidad de información puede ser excesiva, por lo que normalmente interesa seleccionar propiedades:
Get-ComputerInfo |
Select-Object WindowsProductName, WindowsVersion, OsArchitectureLenguaje del código: JavaScript (javascript)
17. Get-CimInstance: consultar información del sistema
Es uno de los cmdlets que merece incorporar cuanto antes a la caja de herramientas de administración.
Por ejemplo, para obtener información del sistema operativo:
Get-CimInstance Win32_OperatingSystem
O del hardware:
Get-CimInstance Win32_ComputerSystem |
Select-Object Manufacturer, Model, TotalPhysicalMemoryLenguaje del código: JavaScript (javascript)
CIM (Common Information Model) permite acceder de manera estructurada a una enorme cantidad de información de administración de Windows.
18. Get-WinEvent: investigar el registro de eventos
En un Windows moderno es preferible utilizar Get-WinEvent:
Get-WinEvent -LogName System -MaxEvents 20
Para buscar errores recientes:
Get-WinEvent -FilterHashtable @{
LogName='System'
Level=2
StartTime=(Get-Date).AddHours(-24)
}Lenguaje del código: JavaScript (javascript)
Microsoft indica expresamente que Get-WinEvent está diseñado para sustituir a Get-EventLog, que se conserva principalmente por compatibilidad y utiliza una API Win32 obsoleta.
Por eso una guía actualizada en 2026 debería evitar presentar ambos como alternativas equivalentes.
PowerShell muestra todo su potencial al administrar servidores remotos
19. Invoke-Command: ejecutar órdenes en otros equipos
Aquí PowerShell deja de ser simplemente una consola cómoda y se convierte en una herramienta especialmente potente para administración.
Invoke-Command -ComputerName Server01 -ScriptBlock {
Get-Service
}
La misma operación puede ejecutarse contra varios servidores:
Invoke-Command -ComputerName Server01,Server02,Server03 -ScriptBlock {
Get-ComputerInfo |
Select-Object WindowsProductName, OsUptime
}Lenguaje del código: JavaScript (javascript)
Microsoft documenta precisamente Invoke-Command como mecanismo para ejecutar comandos sobre uno o varios sistemas remotos. PowerShell moderno también permite establecer conexiones remotas mediante SSH.
20. Get-History e Invoke-History: recuperar comandos anteriores
Get-History
Después puede repetirse una entrada concreta:
Invoke-History 3
Es sencillo, pero práctico cuando se están realizando tareas de diagnóstico de forma interactiva.
El verdadero salto está en combinar comandos
Memorizar veinte cmdlets sirve para empezar. Aprender a conectarlos es lo que realmente cambia la forma de administrar Windows.
Por ejemplo:
Get-Service |
Where-Object Status -eq "Running" |
Sort-Object DisplayNameLenguaje del código: JavaScript (javascript)
Aquí no se está procesando la salida como una colección de líneas de texto. Get-Service devuelve objetos y Where-Object evalúa la propiedad Status.
Lo mismo permite encontrar los procesos que más memoria consumen:
Get-Process |
Sort-Object WorkingSet64 -Descending |
Select-Object -First 10 Name, Id, WorkingSet64Lenguaje del código: JavaScript (javascript)
O exportar información de servidores:
Get-Service |
Select-Object Name, Status, StartType |
Export-Csv C:\Reports\services.csv -NoTypeInformationLenguaje del código: JavaScript (javascript)
Esta arquitectura basada en objetos es una de las diferencias importantes respecto al Command Prompt tradicional.
PowerShell tampoco está limitado actualmente a Windows. Las versiones modernas funcionan sobre Windows, Linux y macOS, aunque muchos cmdlets de administración, entre ellos Get-WinEvent, dependen específicamente de Windows.
En agosto de 2026 la rama recomendada para despliegues que busquen soporte prolongado es PowerShell 7.6 LTS, publicada el 18 de marzo de 2026 y con soporte previsto hasta el 14 de noviembre de 2028. PowerShell 7.5 continúa soportado hasta noviembre de 2026.
Para un administrador de sistemas, por tanto, PowerShell merece aprenderse más allá de comandos aislados. La ganancia aparece cuando una comprobación manual realizada una vez se convierte después en una orden reutilizable y, finalmente, en una tarea automatizada sobre decenas o cientos de máquinas.
Preguntas frecuentes
¿Qué versión de PowerShell conviene utilizar en 2026?
PowerShell 7.6 es actualmente una versión LTS con soporte hasta noviembre de 2028. Windows PowerShell 5.1 continúa presente en numerosos sistemas Windows por motivos de compatibilidad.
¿Get-EventLog o Get-WinEvent?
Para nuevas tareas debe preferirse Get-WinEvent. Microsoft indica que Get-EventLog utiliza una API obsoleta y solo trabaja con los registros clásicos de eventos de Windows.
¿PowerShell sirve para administrar varios servidores?
Sí. Invoke-Command, Enter-PSSession y New-PSSession permiten trabajar con sistemas remotos. Una sola llamada a Invoke-Command puede ejecutar una operación sobre varios equipos.
¿Hay que aprender scripting para utilizar PowerShell?
No. Los cmdlets individuales ya resultan útiles para administración y diagnóstico. Aprender el pipeline, variables, bucles y scripts amplía posteriormente las posibilidades de automatización.







