16 Comandos Esenciales de PowerShell que Debes Conocer

Windows PowerShell es una poderosa aplicación basada en el marco .NET. Se basa en comandos de PowerShell llamados cmdlets. Al combinarlos en un orden determinado, puedes realizar casi cualquier operación desde la ventana de PowerShell. Para explicar cómo funciona, hemos recopilado los comandos de PowerShell más esenciales.
Bueno saber: ¿Windows no puede encontrar “Powershell.exe”? Aprende qué hacer para recuperarlo.
Tabla de Contenidos
- Cómo Usar los Comandos de PowerShell
- Comandos Esenciales de PowerShell
- Clear-Host o Cls
- Convert-to-HTML
- Get-Command
- Get-Help
- Get-Process
- Get-Service
- Install-Module o Install-Script
- mkdir, md, rmdir
- New-Item
- Remove-Item
- Set-ExecutionPolicy
- Select-Object y Sort-Object
- Start- y Stop-Process
- Suspend- y Resume-Service
- Test-Path
- Wait-Process
- Otros Comandos Esenciales de PowerShell
- Preguntas Frecuentes
Cómo Usar los Comandos de PowerShell
Para comenzar a usar cmdlets, debes iniciar PowerShell en modo Administrador desde el menú de búsqueda.

Comandos Esenciales de PowerShell
PowerShell en Windows no es solo una interfaz de línea de comando activa, sino también una ventana de scripting y programación que puede ejecutar cualquier aplicación o proceso que desees. Si bien hay varios cientos de cmdlets, para comenzar, solo necesitas aprender los más esenciales.
1. Clear-Host o Cls
¿Cometiste un error mientras escribías, o algo no está saliendo como estaba planeado? Afortunadamente, hay reintentos en PowerShell. El práctico comando clear-host puede borrar todo el texto de la pantalla. Simplemente escribe el comando en cualquier línea de tu pantalla, y todo desaparecerá instantáneamente.

También puedes usar el comando más simple cls, que se usa con frecuencia en el Símbolo del sistema, con PowerShell. Estos dos comandos para borrar texto son útiles cuando encuentras un mensaje de error.

Para evitar errores de escritura en el Símbolo del sistema o en la ventana de PowerShell, copia y pega los comandos para mejorar la eficacia.
Consejo: usa PowerShell para ocultar actualizaciones de Windows, como se muestra en esta guía.
2. Convert-to-HTML
Tener una gran cadena de HTML es más estético que mirar las capturas de pantalla desordenadas de PowerShell. También es útil cuando necesitas compartir errores de script y otros eventos de PowerShell con miembros del equipo no técnicos.
Todos los componentes de PowerShell utilizan objetos .NET que podemos visualizar en la pantalla de PowerShell. Para que se muestren en una ventana de navegador completo, utiliza el cmdlet Convert-to-HTML. A continuación, un ejemplo para ver todos los alias de PowerShell en la web. Recuerda usar una línea separada antes de “Invoke-Item”.
Get-Alias|ConvertTo-Html|Out-File aliases.htm
Invoke-Item aliases.htm
Tan pronto como ejecutes el comando de conversión a HTML, PowerShell te pedirá que abras el archivo de salida usando otra aplicación. Usar un navegador producirá una lista de objetos, como alias.

3. Get-Command
Existen principalmente dos tipos de comandos: alias y funciones. Los alias de PowerShell sirven como un apodo para una función o cmdlet. Windows ha almacenado algunos alias por defecto, que puedes recuperar usando Get-Command. También puedes crear tus propios alias.

El otro tipo de comando en PowerShell son las funciones. Estas utilizan un verbo aprobado (como “get”) y un sustantivo simple (como “StorageNode”).

Estamos utilizando una función “Select-object” (nota la combinación del verbo y el sustantivo) con lo que se conoce como una variable de entorno para el nombre de la computadora para mostrar el nombre de la computadora local.
$env:computername |Select-Object
Las funciones son el punto de partida de la codificación avanzada de PowerShell. Puedes usar funciones, como Start-process, con parámetros y variables para crear tus propios scripts por lotes, ejecutando una serie de tareas.
4. Get-Help
PowerShell tiene su propio cmdlet de autoaprendizaje para solucionar problemas, Get-Help, que muestra todas las soluciones rápidas y artículos de ayuda en una sola ventana. Ingresa el comando al final de cualquier salida para obtener ayuda con varios módulos. Puede que necesites presionar Y para permitir versiones actualizadas del contenido de ayuda.

Existen varias opciones de ayuda a través de Get-help. Por ejemplo, si deseas aprender qué hace Get-process y cuál es su sintaxis exacta, ingresa lo siguiente:
Get-Help Get-Process
Consejo: ¿te preocupa que los keyloggers estén monitoreando tu actividad en tu PC? Aprende a detectar un keylogger en Windows.
5. Get-Process
Get-Process es un comando esencial de PowerShell que enumera la lista completa de procesos en tu dispositivo local o en una computadora remota.

Para obtener información más detallada del proceso, deberás especificar otros parámetros, como el ID del proceso (PID) o el nombre del proceso.

Hay muchos parámetros específicos que puedes incluir al definir el proceso a encontrar:
- Listar procesos especificando el tamaño del archivo en MB
- Listar procesos según prioridad
- Encontrar el propietario de un proceso
6. Get-Service
Tu computadora con Windows tiene muchos programas y procesos en ejecución. Si bien puedes verlos directamente en el Administrador de Tareas, es más fácil ver una lista completa utilizando Get-service, que puedes convertir a HTML más tarde.

¿No recuerdas el nombre exacto del servicio que necesitas? Puedes usar un símbolo comodín (*) junto con las pocas letras que recuerdas.
Get-service "xyz*"
Algunas banderas comunes que funcionan en conjunto con Get-Service incluyen -DisplayName, -DependentServices, -InputObject y -RequiredServices.
7. Install-Module o Install-Script
PowerShell es una de las opciones más seguras para instalar paquetes de software para software de Windows, como Microsoft Teams, McAfee Security, Bing Translator, los últimos juegos de Xbox, etc. Para obtener una lista completa de software compatible en PowerShell para todos los usuarios, ingresa:
Get-AppxPackage -AllUsers
Una mejor manera es buscar tu paquete deseado en PowerShell Gallery, un recurso único para los últimos paquetes de software. Una vez que lo encuentres, ingresa un comando, como Install-module, Install-Script, o Install-Package. Lo siguiente muestra la instalación del juego de Buscaminas.
Install-Script -Name Minesweeper
Espera unos segundos o minutos para la instalación del paquete a través de tu PowerShell. Estará disponible más tarde en Windows.

Otro comando útil es Find-package, que busca un paquete de software en tu computadora o en la web.
Consejo: también puedes usar el Administrador de Paquetes de Windows para instalar y actualizar programas.
8. mkdir, md, rmdir
mkdir no es un comando nativo de PowerShell. Sin embargo, es un alias ampliamente utilizado de new-item para crear directorios, ya que esta sintaxis es muy popular en DOS y Linux. Cuando usas mkdir con un nombre de tu elección, crea una carpeta vacía.
mkdir "nombre de tu carpeta vacía."Haz que PowerShell apunte a tu nueva carpeta creada usando un simple comando cd.
cd "nombre de la carpeta recién creada."
La nueva carpeta creada se encuentra siempre en la ruta C:\Windows\System32, pero puedes usar cd para apuntar a una carpeta diferente.

Puedes sustituir mkdir con md para el mismo propósito que arriba. Para eliminar cualquier contenido del directorio, usa un comando rmdir (remove directory):
rmdir "nombre de la carpeta con contenido vacío."
9. New-Item
A diferencia de los alias como mkdir y md, New-item es el cmdlet oficial utilizado en PowerShell para crear nuevos elementos y establecer sus valores. Además de crear archivos y carpetas, puedes usarlo para crear claves y entradas del registro.
- Para crear un nuevo directorio usando el comando
New-item, escribe:
New-item -Path "Ubicación de la ruta del directorio\" -Name "Nombre de tu elección" -ItemType "directorio"- Tan pronto como se crea un directorio, puedes colocar nuevos archivos con
New-itemdentro de esa carpeta.
New-item -Path "Ubicación de la ruta del directorio creado\" -Name "nombre del archivo.txt" -ItemType "file" -Value "inserta cualquier texto de tu elección."
- El archivo recién creado puede encontrarse en su carpeta de destino.

10. Remove-Item
¿Quieres eliminar todos los archivos con una extensión, como .TXT, .DOC, .PDF, .WMV, de una carpeta? Primero, apunta a la ruta exacta de la carpeta usando cd, luego usa el cmdlet Remove-Item como se muestra a continuación:
Remove-Item * -Include *(tipo de archivo) -Exclude *(cualquier variable o número)
El método anterior es muy útil para identificar y eliminar cualquier archivo oculto o de solo lectura o para eliminar cualquier archivo con caracteres especiales.
Bueno saber: ¿tienes problemas para eliminar un archivo de tu PC? Aprende cómo forzar la eliminación de archivos indeseables en Windows.
11. Set-ExecutionPolicy
Por motivos de seguridad, PowerShell tiene su propia política de ejecución que afecta a archivos de configuración, scripts y otros parámetros. Esta característica de seguridad se puede ejecutar utilizando el comando Set-executionPolicy, junto con una bandera, como -force, que sobreescribe elementos existentes. Sigue la sintaxis dada a continuación.
Set-ExecutionPolicy
[-ExecutionPolicy]
[[-Scope]]
[-Force]
[-WhatIf]
[-Confirm]
[]Por ejemplo, usar el comando Set-ExecutionPolicy para instalar el software Chocolatey se vería como el código mostrado a continuación. Una vez ejecutado, descargará e instalará el software oficial de Chocolatey en tu computadora.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol =[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
12. Select-Object y Sort-Object
Si tu carpeta o subcarpeta tiene muchos archivos y extensiones, es posible que desees ordenar o seleccionar en orden ascendente o descendente según una propiedad predefinida. Aquí es donde los cmdlets Sort-Object y Select-Object pueden ayudarte a reorganizar múltiples objetos de una sola vez.
La ordenación y selección se pueden aplicar a cualquier archivo en diferentes carpetas, así como a los procesos existentes en tu computadora. A continuación, un ejemplo de ordenación y selección de los diez procesos más importantes según el tamaño del conjunto de trabajo (WS) en megabytes.
Get-Process | Sort-Object -Property WS | Select-Object -Last "Número de elementos"
Puedes usar la ordenación y selección en varios otros parámetros, como información histórica de varios archivos, ordenar todos los elementos de una lista contenida dentro de un archivo de Notepad, y ordenar varios eventos en tu computadora.
13. Start- y Stop-Process
Ya sea que desees iniciar un nuevo proceso en Windows o detener un proceso existente, puedes usar rápidamente los cmdlets de PowerShell para lograr ese objetivo.
Para terminar rápidamente un proceso, usa el cmdlet Stop-Process. El siguiente ejemplo muestra cómo cerrar un proceso de WordPad.
Stop-Process -Name "Nombre del proceso o aplicación"
Del mismo modo, para iniciar una nueva aplicación directamente desde la ventana de PowerShell, ingresa el cmdlet Start-Process y la bandera -FilePath.
Start-Process -FilePath "Nombre de la aplicación"
Consejo: aprende a detener aplicaciones y procesos en segundo plano de ejecutarse en Windows y consumiendo tus recursos.
14. Suspend- y Resume-Service
En lugar de iniciar o detener un servicio en ejecución, puedes suspenderlo directamente. El cmdlet Suspend-Service es simple de usar y te ayuda a reducir el uso de RAM y CPU de los servicios que no estás utilizando actualmente.
Nota: puedes usar Get-Service para obtener el nombre del servicio que se va a suspender.
Suspend-Service -DisplayName "Nombre completo del servicio"
Cualquier servicio terminado puede reanudarse más tarde con un simple comando Resume-Service. Si no estás seguro de qué servicios puedes suspender sin afectar negativamente a tu sistema, usa el siguiente comando:
Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspend-Service -Confirm
15. Test-Path
Si deseas evitar cometer errores en las rutas de archivos en tu programación, necesitas estar seguro de que la ruta de archivo en la sintaxis sea precisa. Si bien siempre puedes verificar con el Explorador de Archivos, una forma más precisa de confirmarlo es utilizando el cmdlet Test-Path, que simplemente responde “Verdadero” o “Falso” si existe una ruta dada.
Test-Path -Path "Nombre de la ruta"
Puedes modificar el comando para probar la disponibilidad de un archivo dado, verificar si la ruta del registro es precisa, y determinar si hay otros archivos además de un tipo específico de archivo en tu computadora.
16. Wait-Process
Cuando varios procesos están en ejecución al mismo tiempo, es posible que desees esperar a que uno o más de ellos se detengan antes de poder usarlos de nuevo. El cmdlet Wait-Process puede ayudar mucho. Puedes especificar un tiempo de espera por el cual PowerShell esperará antes de que el proceso se detenga.
Wait-Process -Name "Nombre del proceso" -Timeout (en segundos)
Otros Comandos Esenciales de PowerShell
Además de los comandos de PowerShell listados anteriormente, también es útil aprender los siguientes cmdlets y funciones:
Echoes un cmdlet utilizado para imprimir cualquier valor en la consola de PowerShell.Get-Hostproporciona todos los detalles del programa que aloja PowerShell en Windows.Test-JSONes un cmdlet avanzado utilizado para validar si una cadena es un objeto JSO válido.Trace-commandrastrea toda la expresión o comando para encontrar los parámetros y banderas que contiene.Write-output, como su nombre indica, da una salida del último comando en la ventana de consola.
Consejo: mantente al día con estos procesos legítimos de Windows que pueden parecer malware para evitar eliminarlos de tu sistema.
Preguntas Frecuentes
¿Cómo puedo resolver el error “el script de PowerShell no se reconoce como el nombre de un cmdlet”?
Si PowerShell no reconoce el nombre de un cmdlet, podría ser debido a que la variable de ruta no está configurada correctamente. Corrige cualquier error en la variable de ruta corrigiendo su ruta de carpeta no válida.
¿Cómo capturo la salida de error como una variable en PowerShell?
PowerShell tiene un parámetro de variable de error, $ErrorVariable, diseñado para capturar todas las salidas de error cuando ingresas los diversos cmdlets. Estos pueden ser utilizados para solucionar problemas.