¿Alguna vez has intentado escribir código PowerShell y te has quedado atascado? ¡No te preocupes más! Una de las mejores maneras de volverte bueno en PowerShell es entendiendo los conceptos básicos. Conocer algunos comandos básicos de PowerShell puede convertirte en un profesional, y automatizarás tareas administrativas de manera más eficiente.
En este tutorial, aprenderás los cmdlets básicos de PowerShell que necesitas saber para hacer tu experiencia en PowerShell más interesante.
Prerrequisitos
Este tutorial será una demostración práctica, pero no tiene muchos requisitos previos. Si quieres seguirlo, cualquier sistema (Windows o Linux) con PowerShell 5.1 o superior funcionará. Aunque los comandos se muestran usando Windows PowerShell, los ejemplos a continuación funcionan en PowerShell 7+ multiplataforma.
Obtener ayuda e información sobre comandos con Get-Help
¿Alguna vez has escrito código como un jefe sin obtener ayuda? Bueno, siempre habrá necesidad de ayuda mientras escribes código. Ya sea que estés ejecutando código o comandos en un entorno de línea de comandos, el cmdlet Get-Help
es útil.
Comencemos este tutorial aprendiendo cómo funciona el cmdlet Get-Help
.
El cmdlet Get-Help
te ofrece las guías necesarias para utilizar cualquier comando de manera efectiva sin errores. Considéralo como documentación para cada uno de los comandos de PowerShell.
Abre PowerShell como administrador, y ejecuta el comando Get-Help
a continuación para ver información detallada (-Detailed
) sobre un comando, como el cmdlet Get-ExecutionPolicy
.

En lugar de solo información detallada, quizás desees ver información completa sobre un cmdlet. Si es así, añade el parámetro -Full
en el comando Get-Help
en su lugar.
Ejecuta el código a continuación para obtener información completa (-Full
) sobre el propio cmdlet Get-Help
.

Tal vez aún necesites más ejemplos para evitar errores al ejecutar el comando. En ese caso, añade el parámetro -Examples
para ver ejemplos de cómo escribir un comando.
Ejecuta el comando Get-Help
a continuación para obtener ejemplos (-Examples
) sobre cómo puedes utilizar el cmdlet Get-Process
.

Obteniendo Procesos de Computadora con Get-Process
¿Recuerdas el Administrador de tareas de Windows que muestra todos tus procesos, servicios, aplicaciones y demás? ¡Genial! El cmdlet Get-Process
es un cmdlet básico pero esencial que te brinda acceso a todos los procesos de tu computadora en unos pocos pasos sin necesidad de abrir el Administrador de tareas.
Ejecuta el siguiente comando para obtener una lista de todos los procesos de tu sistema en formato de tabla.

Cuando un proceso se congela y hace que tu computadora funcione lentamente, detén el proceso mediante la canalización del cmdlet
Get-Process
al cmdletStop-Process
. Por ejemplo: ejecutaGet-Process -Id 1252 | Stop-Process
, donde-Id 1252
especifica el ID del proceso que deseas detener.
Obtención del historial de sesión de PowerShell con Get-History
Puede que necesites verificar tus comandos recientes, como verificar si el comando reciente que ejecutaste es correcto o si realmente ejecutaste un comando. Pero, ¿PowerShell tiene un historial de comandos? ¡Sí! El cmdlet Get-History
devuelve un objeto de todos tus comandos recientes en tu sesión actual de PowerShell.
Ejecuta el siguiente comando para obtener una lista de todos los comandos ejecutados recientemente en tu sesión actual.

Si prefieres ver comandos específicos del historial, agrega el parámetro
-Id
seguido del número de identificación del comando del historial. Por ejemplo, ejecutaGet-History -Id 2
para ver el segundo comando en el historial.
Mostrando Servicios del Sistema con Get-Service
Al igual que el cmdlet Get-Process
, PowerShell también te permite ver todos los servicios en ejecución en tu sistema. El cmdlet Get-Service
te permite ver todos los servicios, que podrían ser un servidor de base de datos o una aplicación que controla automáticamente el brillo de la pantalla de tu computadora.
Ejecuta el siguiente comando para obtener una lista de todos los servicios en tu sistema en formato de tabla. Con este comando, puedes ver incluso los servicios detenidos.

Tal vez estés buscando servicios que comiencen con un carácter específico. Si es así, agregar un carácter comodín (*) hará el truco.
Ejecuta el comando Get-Service
a continuación, pasando la primera letra y el asterisco (A*
) de los servicios que deseas ver. Agregar el carácter comodín te permite filtrar todos los servicios que no comienzan con la letra ‘A’.

Ejecutando Trabajos en Segundo Plano con Start-Job
Escribir código puede resultar molesto si todavía hay mucho por escribir, pero un solo comando tarda una eternidad en escribirse. ¡No hay problema! PowerShell proporciona un cmdlet para ejecutar trabajos en segundo plano en tu sesión. El cmdlet Start-Job
proporciona un entorno de PowerShell para ejecutar código o comandos como un trabajo en segundo plano sin interacción del usuario.
Ejecuta el comando Start-Job
a continuación para iniciar un trabajo en segundo plano para el cmdlet Get-Command
. Iniciar un trabajo en segundo plano ejecuta el cmdlet Get-Command
sin mostrar la salida en tu línea de comando.

Dado que estás trabajando con trabajos en segundo plano, ¿cómo puedes verificar si un trabajo aún se está ejecutando o se ha completado? Ejecuta el cmdlet
Get-Job
para obtener todos los trabajos en tu sesión.
Cambiando Directorios de Trabajo con Set-Location
Hay momentos en los que necesitas cambiar de directorio, como cuando ejecutas un script o un programa desde una ubicación específica. Pero ¿cómo cambias de directorio? Deja que el cmdlet Set-Location
te ayude con eso. El cmdlet Set-Location
establece el directorio de trabajo actual en el directorio que especifiques en un comando.
Ejecuta el código a continuación para establecer el directorio de trabajo actual en C:\Users\hp\Desktop. Cambia hp
con el nombre de usuario de tu computadora.
A continuación, puedes ver en el indicador que C:\Users\hp\Desktop es ahora el directorio de trabajo.

Verificando Si los Caminos Existen a través de Test-Path
PowerShell puede mostrar un error si intentas acceder a un archivo que no existe. ¿Cómo evitar eso? El cmdlet Test-Path
te permite verificar si un camino existe o no, con su sintaxis intuitiva.
Ahora, crea una carpeta en el Escritorio, nombrándola NewFolder.
Ejecuta el comando Test-Path
a continuación, seguido del camino que prefieras probar. Para este ejemplo, el comando prueba si el camino C:\Users\hp\Desktop\NewFolder existe.
A continuación, puedes ver que el comando devolvió un valor True ya que la ruta existe. De lo contrario, obtendrás un resultado False.

Convertir un objeto PowerShell a HTML con ConvertTo-HTML
Si prefieres una forma organizada para tus datos, convierte tus datos a HTML con el cmdlet ConvertTo-Html
. Fundamentalmente, el comando toma el archivo de salida que deseas convertir y el nombre de archivo con el que deseas guardarlo.
Ejecuta el comando a continuación para recopilar la lista de todos los comandos de PowerShell (Get-Command
) en memoria y convertir (ConvertTo-Html
) la lista a un archivo HTML llamado Command.html
.
El archivo HTML se guarda en tu escritorio ya que anteriormente cambiaste el directorio de trabajo. Para guardar el archivo HTML en otro lugar en su lugar, especifica la ruta completa. Por ejemplo:
Get-Command | ConvertTo-HTML > C:\Temp\Commands.html
Exportar objetos de PowerShell a CSV con Export-CSV
Si crees que un informe en CSV sería mejor en lugar de HTML, entonces utiliza el cmdlet Export-CSV
. Similar al cmdlet ConvertTo-Html
, el cmdlet Export-CSV
te permite exportar datos a un archivo CSV.
Ejecuta el siguiente comando para recopilar una lista de comandos de PowerShell (Get-Command
) y exporta la lista como un archivo CSV (Export-CSV
) llamado Commands.csv
.
Al igual que en el cmdlet ConvertTo-Html, también puedes especificar una ruta de exportación para el archivo CSV de esta manera:
Get-Command | Export-CSV C:\Temp\Commands.csv
Abre el archivo Commands.csv y verás algo como lo siguiente. ¿No está mal, verdad?

Visualización de todos los comandos de PowerShell disponibles con Get-Command
El último comando de PowerShell en la lista es el cmdlet Get-Command
. El cmdlet Get-Command
básicamente lista todos los comandos de PowerShell disponibles que puedes ejecutar en un formato de tabla. Pero como has visto en los ejemplos anteriores, sabes que no es todo lo que Get-Command
puede hacer.
Quizá quieras listar los cmdlets o los aliases selectivamente. Si es así, añade el parámetro -CommandType
al cmdlet Get-Command
para filtrar la salida por el tipo de comando que especifiques. El valor del parámetro -CommandType
puede ser Alias
, Cmdlet
, o Function
.
Ejecuta el comando Get-Command
a continuación para listar solo los cmdlets (-CommandType Cmdlet
) con nombres que empiezan con ‘G’ (-Name G*
).

Otra manera de filtrar la salida de Get-Command
es pasándola al cmdlet Select-Object
. Como sabes, el objeto devuelto por el cmdlet Get-Command
está en formato de tabla. En esa tabla, los nombres de las columnas representan las propiedades que puedes seleccionar del objeto.
Ejecuta el Get-Command
a continuación para recopilar una lista de todos los comandos de PowerShell y filtrar la pantalla para mostrar la propiedad de definición de cada comando (Select-Object -Property Definition
).

Conclusión
Este tutorial te ha dado una guía completa sobre cómo ejecutar comandos básicos de PowerShell. Para este momento, deberías saber cómo canalizar extensivamente y ejecutar comandos y evitar quedarte atascado al codificar en cualquier momento.
Ahora, ¿cómo construirías sobre este nuevo conocimiento? ¿Quizás aprender cómo escribir comandos de varias líneas en scripts de PowerShell sin complicar las cosas?
Source:
https://adamtheautomator.com/basic-powershell-commands/