Cmdlet
Última actualización
Última actualización
En este primer artículo de la serie sobre PowerShell, hablaremos de los Cmdlets. Un cmdlet podemos definirlo como un comando ligero que realiza una tarea específica en el entorno de Powershell. Estos comandos están diseñados para ser simples, modulares y altamente reutilizables. A continuación, desglosamos la anatomía de un cmdlet para entender cómo se estructura y cómo funcionan.
La sintaxis básica de un cmdlet sigue el formato:
El Verbo representa la acción que realizará el cmdlet. Powershell utiliza un conjunto estándar de verbos aprobados (por ejemplo, Get
, Set
, New
, Remove
) para garantizar consistencia.
Ejemplo: Get
(obtener), Set
(establecer), Remove
(eliminar).
Por su parte, el Sustantivo describe el objeto sobre el que actúa el verbo.
Ejemplo: Process
(procesos), Service
(servicios), Item
(elemento de un sistema de archivos).
Por ejemplo, un cmdlet completo sería el siguiente:
Este cmdlet obtiene información sobre los procesos en ejecución.
Los parámetros son opciones que proporcionan más detalles o modifican el comportamiento del cmdlet.
Obligatorios: Algunos cmdlets requieren ciertos parámetros para funcionar.
Opcionales: Otros parámetros son opcionales y ajustan los resultados o el alcance.
Alias: Algunos parámetros tienen alias (abreviaciones, los cuales veremos en el próximo artículo).
Ejemplo:
En este caso, -Name
es un parámetro que especifica el nombre del proceso que queremos obtener.
Debemos tener en cuenta, que si no existe un proceso con el nombre notepad lanzará un error.
Un cmdlet generalmente devuelve un objeto o un conjunto de objetos como salida. Powershell trabaja con objetos, no con texto, lo que facilita la manipulación de datos en secuencias de comandos.
Ejemplo:
Get-Process
: Devuelve todos los procesos en ejecución.
Select-Object
: Filtra las propiedades Name
y CPU
de los objetos devueltos.
Entrada: Los cmdlets reciben datos a tráves de parámetros o mediante un pipeline
Procesamiento: Ejecutan la lógica definida (ejemplo: buscar, modificar, o eliminar datos).
Salida: Devuelven objetos al pipeline, que pueden ser procesados por otros cmdlets.
Ejemplo con pipeline:
Get-Service
: Lista los servicios
Where-Object
: Filtra solo aquellos con estado "Running".
Para profundizar en los conceptos, te recomiendo consultar las referencias de la documentación oficial, las cuales son altamente recomendables para un análisis más detallado.