Guía Completa de Comandos de PowerShell para Windows

Última actualización: 7 de septiembre de 2026
Autor: Isaac
  • Funcionamiento basado en una sintaxis de verbo-sustantivo para la gestión automatizada de recursos.
  • Capacidad de administrar procesos, servicios y archivos tanto de forma local como remota.
  • Implementación de políticas de seguridad, firmas digitales y control de accesos ACL.
  • Herramientas avanzadas de monitorización, depuración y análisis de registros del sistema.

Administradora de sistemas supervisando servidores en un centro de datos moderno con un portátil.

Si alguna vez has sentido que el Símbolo del Sistema se te queda corto, es momento de darle una oportunidad a Windows PowerShell. No es simplemente una ventana negra para lanzar órdenes, sino una herramienta brutalmente potente que combina una interfaz de línea de comandos con un lenguaje de scripting avanzado, permitiéndonos controlar hasta el último rincón del sistema operativo y las aplicaciones que corren en él.

Lo mejor de todo es que, aunque parezca cosa de ingenieros, cualquiera puede empezar a hacerle el quite a las tareas repetitivas. Desde gestionar usuarios hasta automatizar la administración de servidores, PowerShell nos saca de apuros gracias a su flexibilidad y a que ya viene integrado en las versiones modernas de Windows, ahorrándonos instalaciones engorrosas.

Related article:
CMD o PowerShell: diferencias y cuál usar

Entendiendo el funcionamiento de los Cmdlets

Primer plano de un portátil con código de programación en pantalla y teclado retroiluminado en rojo, evocando una interfaz de línea de comandos.

Para no perderse en el camino, hay que entender que los comandos aquí se llaman cmdlets. Estos siguen una regla de oro: la estructura verbo-sustantivo separada por un guion. El verbo nos dice qué queremos hacer (la acción) y el sustantivo a qué objeto se lo vamos a aplicar. Por ejemplo, si queremos obtener algo usaremos Get, si queremos crear algo usaremos New y si queremos borrar, pues Remove.

Para que la vida sea más fácil, existen los alias, que son básicamente atajos. Si vienes de Linux o del CMD, te sentirás como en casa porque puedes usar ls o dir para listar archivos, aunque por detrás PowerShell esté ejecutando el comando real Get-ChildItem. Además, podemos añadir parámetros para ajustar la acción; algunos son obligatorios, otros posicionales y existen los de tipo interruptor, que funcionan como un simple sí o no.

  Guía Completa para Acelerar Windows 11 y Optimizar tu PC

Comandos fundamentales para el día a día

Técnico de IT gestionando el cableado de red en un rack de servidores profesionales.

Cuando uno empieza, lo primero es saber dónde buscar. El comando Get-Help es el mejor colega que puedes tener, ya que te suelta toda la documentación y ejemplos de cualquier cmdlet. Si no recuerdas el nombre exacto de una función, Get-Command te saca la lista completa de lo que tienes disponible, permitiéndote usar asteriscos como comodines para filtrar.

Para echar un ojo a lo que pasa en el PC, Get-Process nos muestra qué programas están consumiendo recursos, mientras que Get-Service nos dice qué servicios están activos o detenidos. Si un proceso se ha quedado colgado y no hay manera de cerrarlo, el comando Stop-Process es la solución definitiva para matar la tarea rápidamente.

MS-DOS: Historia y características de un sistema operativo icónico
Related article:
MS-DOS: Historia y características de un sistema operativo icónico

Gestión avanzada de archivos y carpetas

Entorno de trabajo de un desarrollador con múltiples monitores y una terminal de comandos abierta para automatización de scripts.

Moverse por el disco duro es pan comido con Set-Location para cambiar de directorio y Get-ChildItem para ver qué hay dentro de una carpeta. Si necesitamos crear un documento nuevo, tiramos de New-Item, y para duplicar archivos en otra ruta, el comando Copy-Item es el indicado. Por supuesto, para hacer limpieza, Remove-Item borra lo que le indiquemos, ya sean archivos o carpetas vacías en Windows.

Si queremos curiosear el contenido de un archivo de texto sin abrir el Bloc de Notas, Get-Content nos lo muestra directamente en la consola. Para escribir datos en un archivo podemos usar Set-Content o Add-Content si solo queremos añadir texto al final. Además, para los que necesitan reportes limpios, Out-File guarda los resultados en un archivo de texto, mientras que ConvertTo-HTML o ConvertTo-JSON transforman la información en formatos mucho más legibles y profesionales.

Control del sistema, servicios y procesos

Ingeniero de campo utilizando un portátil para diagnosticar y configurar hardware en un rack de servidores.

La administración de servicios es clave. Con Start-Service y Stop-Service podemos encender o apagar funciones del sistema en un abrir y cerrar de ojos. Si necesitamos que un servicio se reinicie, Restart-Service hace el trabajo sucio. Para los que buscan datos técnicos del hardware, Get-ComputerInfo y Get-WmiObject son minas de oro que nos dan detalles del BIOS, el procesador y la versión exacta del sistema.

  Guía completa de Windows 8 y Windows 8.1

En cuanto a los procesos, además de verlos, podemos lanzarlos con Start-Process. Una técnica muy útil es el pipelining, que consiste en encadenar comandos. Por ejemplo, podemos listar todos los servicios y luego filtrar solo los que están en ejecución usando el comando Where-Object, ahorrándonos tener que buscar manualmente en una lista infinita.

cómo acelerar windows 10
Related article:
Cómo acelerar Windows 10 para mejorar el rendimiento de nuestro PC

Seguridad, permisos y políticas de ejecución

PowerShell se toma la seguridad muy en serio. Por defecto, no puedes ejecutar cualquier script que bajes de internet para evitar sustos. Aquí entra en juego Set-ExecutionPolicy, que nos permite cambiar el nivel de restricción entre opciones como Restricted o RemoteSigned. Para proteger archivos sensibles, podemos usar Get-ACL y Set-ACL, que sirven para gestionar las listas de control de acceso y definir quién puede leer o escribir en un documento.

Para los desarrolladores, es posible firmar scripts digitalmente con Set-AuthenticodeSignature, asegurando que el código no ha sido manipulado. Asimismo, si manejamos contraseñas, ConvertTo-SecureString es fundamental para no dejar datos confidenciales en texto plano, almacenándolos de forma encriptada y segura.

Administración remota y redes

Una de las joyas de la corona es la capacidad de gestionar otros equipos. Con Enter-PSSession abrimos una conexión directa a otro servidor, permitiéndonos ejecutar comandos como si estuviéramos sentados frente a él. Si queremos lanzar una orden en varios equipos a la vez sin entrar uno por uno, Invoke-Command es la herramienta perfecta para la gestión masiva de nodos, similar a cuando queremos activar el escritorio remoto con comandos.

En el ámbito de redes, Test-Connection es el sustituto avanzado del ping, permitiéndonos verificar la conectividad con hosts remotos. Para analizar el tráfico o los puertos, podemos usar comandos que listen las conexiones activas o verificar la resolución de nombres con Resolve-DnsName, asegurando que todo el flujo de datos sea correcto.

riesgos de la inyección dll
Related article:
Riesgos de la inyección DLL y DLL Hijacking en Windows

Monitorización, depuración y logs

Cuando las cosas fallan, necesitamos saber por qué. Get-WinEvent y Get-EventLog nos permiten bucear en los registros de Windows para encontrar errores específicos. Si estamos creando un script y algo no cuadra, el comando Debug-Process nos ayuda a analizar el comportamiento del software en tiempo real.

  Seguridad de los paquetes Snap: riesgos reales, mitos y herramientas

Para los que necesitan un control total del rendimiento, Get-Counter extrae datos de los contadores del sistema, permitiendo monitorizar la CPU o la RAM. También podemos usar Start-Sleep para poner pausas en la ejecución de un script, evitando que el sistema se sature al procesar grandes volúmenes de datos.

Módulos especializados y el servicio DRDA

PowerShell es extensible. Existen módulos específicos como el de Microsoft.HostIntegration.PowerShell para el servicio DRDA. Este módulo permite gestionar la conectividad entre bases de datos DB2 y SQL Server mediante cmdlets muy concretos como Set-HisDrdaService o Get-HisDrdaSqlServerConnection, que configuran puertos, certificados SSL y rutas de acceso.

Dentro de este entorno especializado, podemos gestionar alias de bases de datos con Add-HisDrdaDatabaseAlias o controlar la codificación de caracteres y páginas de códigos con Add-HisCustomCodePage. Incluso permite configurar agentes de escucha de seguimiento (Trace Listeners) mediante comandos como Set-HisDrdaTextTraceListener para volcar errores en archivos de texto y así facilitar la auditoría del sistema.

Dominar esta consola implica pasar de ser un usuario pasivo a un administrador capaz de automatizar cualquier tarea. Desde la simple lectura de un archivo hasta la gestión compleja de redes remotas y la seguridad de scripts firmados, PowerShell ofrece un ecosistema donde la eficiencia es la prioridad. Con el uso de cmdlets, alias y la correcta configuración de políticas, el control total de Windows queda reducido a unas cuantas líneas de código ejecutadas con precisión.

empaquetar aplicaciones con MSIX
Related article:
Empaquetar aplicaciones con MSIX: guía completa para Windows