Microsoft PowerShell: Essential Commands Every Windows User Should Know
PowerShell suele presentarse como “CMD con esteroides”, pero en la práctica es una herramienta distinta: en lugar de trabajar solo con texto, administra datos como objetos. Esa diferencia cambia cómo se conectan los comandos y abre la puerta a automatizaciones y operaciones más avanzadas en Windows.
Desarrollado por Microsoft, PowerShell se usa para administrar sistemas, automatizar tareas y gestionar entornos. Una de sus ideas más importantes es la tubería (el símbolo |), que permite pasar la salida de un comando como entrada para el siguiente, construyendo flujos de trabajo más potentes.
Tuberías y ejemplo de uso
Un ejemplo clásico es: Get-Process | Sort-Object CPU | Select-Object Name,CPU. La tubería conecta tres pasos: primero obtiene la lista de procesos activos, después los ordena según el uso de CPU y, por último, reduce la salida para mostrar únicamente el nombre del proceso y el tiempo de CPU consumido.
Quick facts: comandos esenciales de PowerShell
At a glance
- Información del sistema: Get-ComputerInfo
- Fecha y hora: Get-Date
- Historial de comandos: Get-History
- Limpieza del historial: Clear-History
- Carpeta actual: Get-Location
- Cambio de carpeta: Set-Location C:Users
- Listar archivos: Get-ChildItem
- Recorrer subdirectorios: Get-ChildItem -Recurse
- Buscar texto en archivos: Select-String «error» archivo.log
- Leer contenido: Get-Content archivo.txt
- Últimas líneas de un log: Get-Content archivo.log -Tail 20
- Reemplazar contenido: Set-Content archivo.txt «Hola»
- Añadir al final: Add-Content archivo.txt «Nueva línea»
- Vaciar sin borrar: Clear-Content archivo.txt
- Procesos activos: Get-Process
- Detener un proceso: Stop-Process -Name chrome
- Servicios del sistema: Get-Service
- Reiniciar un servicio: Restart-Service spooler
- Prueba de conectividad (ping): Test-Connection hardzone.es
- IPs del equipo: Get-NetIPAddress
- Consulta DNS: Resolve-DnsName hardzone.es
- Comprobar puerto: Test-NetConnection hardzone.es -Port 443
- Ayuda y descubrimiento: Get-Command, Get-Help, Get-Member
Información del sistema y trazabilidad
Para obtener detalles del equipo, PowerShell permite usar Get-ComputerInfo. También sirve para consultar la fecha y hora del sistema con Get-Date, y para revisar qué se ha ejecutado antes mediante Get-History. Si necesitas empezar de cero, se puede limpiar ese historial con Clear-History.
Navegación y gestión de archivos
PowerShell facilita moverse entre carpetas y realizar tareas habituales con archivos: mostrar ubicación actual con Get-Location, cambiar de directorio con Set-Location C:Users y listar contenido usando Get-ChildItem. Si quieres abarcar subdirectorios, Get-ChildItem -Recurse recorre el árbol completo.
En operaciones de archivos, el conjunto incluye creación con New-Item archivo.txt y de carpetas con New-Item -ItemType Directory MiCarpeta. También contempla copias (Copy-Item origen.txt destino.txt), mover (Move-Item archivo.txt C:Destino), renombrar (Rename-Item archivo.txt nuevo.txt) y eliminar con Remove-Item archivo.txt. Para borrar una carpeta junto con todo su contenido se usa Remove-Item carpeta -Recurse.
Búsqueda, filtros y ordenación
Cuando buscas información, PowerShell permite aplicar filtros directos. Para encontrar texto dentro de un archivo se puede usar Select-String «error» archivo.log. Para filtrar por extensión, Get-ChildItem *.txt limita el resultado a archivos de tipo texto. En procesos, se puede filtrar por consumo de CPU con Get-Process | Where-Object {$_.CPU -gt 100}, y ordenar servicios por su estado con Get-Service | Sort-Object Status.
Ver y modificar archivos sin editor
Si prefieres no depender de un editor como Bloc de notas, PowerShell permite leer y ajustar archivos desde la consola. Para ver el contenido completo se usa Get-Content archivo.txt, y para revisar solo una parte final de un log se puede emplear Get-Content archivo.log -Tail 20.
Para escribir, Set-Content archivo.txt «Hola» reemplaza el contenido por completo, mientras que Add-Content archivo.txt «Nueva línea» agrega texto al final del archivo. Si lo que necesitas es dejar el archivo vacío sin eliminarlo, Clear-Content archivo.txt cumple esa función.
Procesos, servicios y diagnóstico
En situaciones donde Windows se muestra inestable o una app queda colgada, PowerShell incluye comandos orientados a procesos y servicios. Para listar procesos activos está Get-Process. Para cerrar uno directamente se usa Stop-Process -Name chrome.
También es posible lanzar aplicaciones con Start-Process notepad. En cuanto a servicios del sistema, Get-Service muestra la lista y Restart-Service spooler permite reiniciar un servicio concreto.
Conectividad: diagnóstico de red y DNS
PowerShell puede ayudar a detectar fallos de red y conectividad. Con Test-Connection hardzone.es se realiza una prueba de conectividad tipo ping. Para ver las direcciones IP del equipo, se usa Get-NetIPAddress, y para consultar información DNS está Resolve-DnsName hardzone.es.
Además, se puede comprobar si un puerto está disponible con Test-NetConnection hardzone.es -Port 443, útil cuando problemas de acceso se relacionan con puertos concretos.
Cómo encontrar comandos y entender objetos
Si quieres ampliar el repertorio de PowerShell, los comandos de ayuda ayudan a descubrir opciones existentes y a interpretar resultados. Get-Command lista comandos disponibles, mientras que Get-Help Get-Process muestra la ayuda de un comando específico.
Para ver ejemplos, se puede usar Get-Help Get-Process -Examples. Y para inspeccionar propiedades y métodos de un objeto, Get-Member permite explorar la estructura. En el caso de procesos, también se puede inspeccionar directamente con Get-Process | Get-Member.
