Microsoft PowerShell: Essential Commands Every Windows User Should Know

comandos-powershell-que-todo-usuario-6349

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.