Fundamentos de Cmdlet de PowerShell
Cmdlet (pronunciado de manera similar a "command-let")Es la unidad de comando básica en PowerShell, un comando pequeño implementado por Microsoft basado en el framework .NET.
Los Cmdlets se diferencian de los programas externos en los shells tradicionales, por ejemplo.exeo.batarchivos, sino que están integrados en el entorno de ejecución de PowerShell.
Cada Cmdlet realiza una tarea específica, como obtener datos, establecer propiedades, crear objetos, exportar archivos, etc.
Regla de nomenclatura de Cmdlet: verbo-sustantivo
En PowerShell, la nomenclatura de todos los Cmdlets sigue un formato unificado"verbo-sustantivo"formato, por ejemplo:
Get-Process: obtener información de procesosSet-Date: establecer la fecha del sistemaNew-Item: crear un nuevo elemento (como archivo o carpeta)Remove-Service: eliminar un servicio
Este método de nomenclatura es intuitivo y uniforme, lo que facilita su memorización y búsqueda.
Estructura básica de sintaxis de Cmdlet
La estructura de sintaxis de un Cmdlet generalmente es la siguiente:
Ejemplo:
Get-Service -Name W32Time
Explicación:
Get-Service: obtener objetos de servicio-Name W32Time: especifica el nombre del servicio a consultar comoW32Time
Otro ejemplo:
Stop-Process -Id 1234 -Force
-Ides un parámetro con valor-Forcees un parámetro switch, no necesita especificar un valor
Combinación de parámetros y canalizaciones
Los Cmdlets admitenparámetros posicionales、parámetros con nombreyentrada por canalización. Esto permite que los comandos se combinen de manera flexible para construir flujos de trabajo complejos.
Ejemplo 1: forma de especificar parámetros
Get-Process -Name notepad
Ejemplo 2: pasar mediante canalización
"notepad" | Get-Process -Name
Ejemplo 3: pasar el objeto por canalización a otro Cmdlet
Get-Process notepad | Stop-Process
En el ejemplo anterior,Get-Processse obtiene el objeto del proceso notepad y luego se pasa mediante canalización aStop-Processpara terminarlo.
Ver la información de ayuda de Cmdlet
PowerShell proporciona un sistema de ayuda completo; se puede usarGet-Helppara consultar el uso de cualquier Cmdlet:
Get-Help Get-Process
Para ver más descripciones de parámetros y ejemplos, se puede añadir-Detailedo-Examples:
Get-Help Get-Process -Examples
Si es la primera vez que se usa PowerShell, se recomienda ejecutar una vez el siguiente comando para actualizar la ayuda local:
Update-Help
Tabla de referencia rápida de Cmdlets básicos comunes
| Cmdlet | Descripción de la función |
|---|---|
Get-Command |
Ver todos los comandos disponibles |
Get-Help |
Ver la información de ayuda de un comando |
Get-Process |
Obtener la lista de procesos |
Get-Service |
Obtener la lista de servicios |
Start-Service |
Iniciar servicio |
Stop-Service |
Detener servicio |
Set-ExecutionPolicy |
Establecer la directiva de ejecución |
New-Item |
Crear un nuevo archivo o carpeta |
Remove-Item |
Eliminar archivo o carpeta |
Copy-Item |
Copiar archivo o carpeta |
Move-Item |
Mover archivo o carpeta |
Clear-Host |
Limpiar la pantalla, similar acls |
Ejemplo práctico: operaciones con archivos
Crear una carpeta:
New-Item -Path "C:\TestFolder" -ItemType Directory
Crear un archivo de texto en ese directorio:
New-Item -Path "C:\TestFolder\demo.txt" -ItemType File
Escribir el contenido en el archivo:
Set-Content -Path "C:\TestFolder\demo.txt" -Value "Hello PowerShell"
Leer el contenido del archivo:
Get-Content -Path "C:\TestFolder\demo.txt"
Resumen y sugerencias de estudio
- El Cmdlet es la unidad central de PowerShell; cada Cmdlet es un ejecutor de tareas con una función claramente definida.
- La norma de nomenclatura unificada "verbo-sustantivo" hace que los Cmdlets sean predecibles y fáciles de aprender.
- La combinación de canalizaciones, el sistema de parámetros y el modelo de objetos hace que los Cmdlets destaquen en el procesamiento de datos y la automatización.
- Dominar los Cmdlets comunes y combinarlos con operaciones de objetos es un punto de partida importante para aprender PowerShell.
Se recomienda que los principiantes practiquen en los siguientes aspectos:
- Usar
Get-Commandpara explorar todos los comandos disponibles - junto con
Get-Helpaprender a consultar el uso de los comandos - Utilizar
New-ItemyGet-Contentcomandos como estos para realizar operaciones locales con archivos - Intenta a menudo combinar comandos mediante canalizaciones para procesar datos