Su guía de introducción a los verbos aprobados por PowerShell
Cuando se trata de secuencias de comandos de PowerShell, las convenciones de nomenclatura coherentes facilitan mucho la tarea de crear soluciones sólidas. La buena noticia es que existen verbos aprobados por PowerShell que puede utilizar al escribir scripts y comandos.
En este tutorial, aprenderá qué verbos aprobados usar en PowerShell a través de una serie de ejemplos.
¡Sumérgete y sube de nivel tus scripts de PowerShell!
Requisitos previos
Este tutorial comprende demostraciones prácticas. Si desea seguir adelante, asegúrese de tener un sistema que ejecute PowerShell 5.1 o posterior. Este tutorial utiliza Windows 11 con PowerShell 7.
Recuperar una lista de verbos aprobados por PowerShell
En PowerShell, los cmdlets son pequeños comandos de una sola función que realizan acciones específicas en el entorno de PowerShell.
Cada cmdlet en PowerShell tiene un nombre único que sigue un formato de par verbo-sustantivo donde:
- La parte verbal del nombre describe la acción que realiza el cmdlet. Algunos verbos comunes utilizados en PowerShell son los siguientes:
GetRecupera información.
SetCambia o actualiza la configuración.
NewCrea algo nuevo.
RemoveElimina o elimina algo.
- La parte sustantiva del nombre identifica la entidad u objeto sobre el cual se realiza la acción, el objetivo sobre el cual se realizará la acción. El sustantivo suele describir la categoría o el tipo de objeto con el que interactúa el cmdlet, como comando, proceso, servicio o archivo.
Para ver todos los verbos aprobados que puedes usar para tu guión:
Ejecute el siguiente cmdlet Get-Verb para obtener una lista completa de los verbos aprobados por PowerShell.
Get-VerbEl siguiente resultado muestra solo algunos verbos que puede usar para su guión.
Ahora, ejecute el mismo comando que se muestra a continuación, pero esta vez enumerará todos los verbos aprobados que comienzan con re mediante una búsqueda con comodines. Al hacerlo, se reduce la lista de verbos a aquellos asociados con restablecer, cambiar tamaño, rehacer, etc.
Get-Verb re*
Como se muestra a continuación, reducir la lista de verbos puede resultar útil cuando tiene una acción específica en mente y desea encontrar un verbo que se asemeje mucho a esa acción.
Crear nuevos recursos mediante el verbo New
Acaba de recuperar una lista de verbos aprobados en PowerShell, pero ¿cómo utiliza esos verbos en su secuencia de comandos o cuando ejecuta comandos? Antepondrá el verbo New a un sustantivo que represente el tipo de recurso que desea crear (es decir, usuario, archivo, servicio).
Pero en este ejemplo, creará un nuevo recurso, específicamente un nuevo usuario, de la siguiente manera:
Ejecute el siguiente comando New-LocalUser para crear un nuevo usuario llamado John Smith con una contraseña (Contraseña123) y configure la cuenta para que nunca caduque (
New-LocalUser -Name "John Smith" -AccountNeverExpires -Password (ConvertTo-SecureString -AsPlainText "Password123" -ForceRecuperar información de recursos mediante el verbo Get
Además de crear nuevos recursos, PowerShell también tiene un verbo que le permite recuperar información sobre cualquiera de sus recursos existentes. En PowerShell, el verbo Get se usa comúnmente para recuperar o recuperar información sobre un recurso en particular, como el sistema operativo, servicios, archivos y otros objetos.
Para recuperar información de recursos mediante el verbo Get:
Ejecute el comando Get-LocalUser a continuación para obtener información sobre un usuario local específico (John Smith).
Get-LocalUser -Name "John Smith"A continuación, el resultado muestra que la cuenta de usuario John Smith está habilitada (activa).
Modificar recursos existentes mediante el verbo Set
Imagina que notas que algo anda mal después de ver la información de uno de tus recursos. ¿Cómo se puede modificar un recurso existente? ¡No te preocupes! Un verbo aprobado por PowerShell, el verbo Set, le permite realizar cambios en los recursos existentes.
En lugar de recrear recursos, el verbo Set le permite ajustar modificando sus propiedades o configuraciones.
Para modificar recursos existentes mediante el verbo Set:
Ejecute los siguientes comandos para establecer el valor de $myVariable en Hello y modifique el valor de $myVariable en Hello, World!. Estos comandos no proporcionan resultados, pero verificará los cambios en el siguiente paso.
# Define a variable resource
$myVariable = "Hello"
# Modify the value of an existing variable resource
Set-Variable -Name myVariable -Value "Hello, World!"Ahora, ejecute el comando Get-Variable a continuación para recuperar información sobre su recurso ($myVariable).
Get-Variable -Name myVariableComo se muestra a continuación, la salida muestra el nombre y el valor de la variable.
Activar acciones o invocar comandos mediante el verbo Invoke
En lugar de ejecutar comandos manualmente, como hizo en los ejemplos anteriores, ¿por qué no automatizarlos en un script de PowerShell? ¿Cómo? El verbo Invoke le permite iniciar acciones o invocar comandos mediante programación.
Con un script de PowerShell y el verbo Invoke, puede ejecutar varios comandos de PowerShell a la vez sin tener que escribirlos todos en la consola.
Para ver cómo funcionan las acciones desencadenantes mediante el verbo Invoke:
1. Ejecute el siguiente comando Invoke-Expression para invocar el comando Get-Date, que le permite recuperar la fecha y hora actuales.
Invoke-Expression -Command "Get-Date"El siguiente resultado muestra una ejecución exitosa del comando Get-Date mediante el verbo Invoke.
2. A continuación, cree un archivo de secuencia de comandos de PowerShell (es decir, InvokeVerbDemo.ps1) con su editor de código preferido y complete el siguiente código.
Este código muestra (Write-Host) un mensaje de bienvenida e invoca el cmdlet Get-Service para enumerar todos los servicios en su sistema.
# Display a warm welcome message
Write-Host "Welcome to the Invoke Example!"
# Invoke the Get-Service cmdlet
Invoke-Command -ScriptBlock { Get-Service }3. Ahora, ejecute los siguientes comandos para invocar (Invoke-Expression) su script de PowerShell (InvokeVerbDemo.ps1). Reemplace el valor de la variable $scriptPath con la ruta de su archivo de script.
$scriptPath = "C:\PowerShellScripts\InvokeVerbDemo.ps1"
Invoke-Expression -Command $scriptPathEl siguiente resultado muestra un mensaje de bienvenida y una lista de todos los servicios en su sistema, lo que confirma una ejecución exitosa de su script.
4. En lugar de solo comandos, escriba una función reutilizable (es decir, Invoke-MyTask) que pueda llamar en cualquier momento, como se muestra a continuación. Básicamente, las funciones mejoran la capacidad de mantenimiento y la reutilización de sus scripts de PowerShell.
En este ejemplo, la función Invoke-MyTask encapsula comandos para realizar lo siguiente cuando se invoca:
- Muestra (
Write-Host) la cadenaExecuting MyTask...en la consola. - Recupera la lista de todos los procesos (
Get-Process) y selecciona solo (Select-Object) elNamey elCPUpropiedades para cada proceso.
# Define a custom function using the Invoke verb
function Invoke-MyTask {
# Your custom task goes here
Write-Host "Executing MyTask..."
Get-Process | Select-Object Name, CPU
}5. Por último, ejecute el siguiente comando para invocar su función (Invoke-MyTask).
Invoke-Expression -Command Invoke-MyTaskVerá una lista de todos los procesos que se ejecutan en su sistema con sus nombres y uso de CPU, como se muestra a continuación.
Validación de recursos mediante el verbo Test
Garantizar la precisión de los valores y condiciones de entrada es primordial a la hora de crear scripts de PowerShell sólidos y resistentes a errores. Una poderosa herramienta a tu disposición para este propósito es el verbo Test.
Al emplear el verbo Test, puede verificar rápidamente si una condición determinada tiene un valor verdadero o falso, lo que le permite ejecutar diferentes acciones según el resultado. En este ejemplo, validará si un archivo existe mediante el verbo Test.
Ejecute el siguiente código para probar (Test-Path) si existe un archivo (C:\MyFolder\example.txt) en el $filePath, e imprimir un mensaje dependiendo del resultado.
# Define a file path.
$filePath = "C:\MyFolder\example.txt"
# Test if the file exists, and print a message depending on the result
if (Test-Path $filePath) {
Write-Host "The file exists at $filePath."
}
else {
Write-Host "The file does not exist at $filePath."
}Conclusión
Ahora tiene un conocimiento básico de los verbos aprobados por PowerShell y cómo usarlos de manera efectiva en sus scripts y comandos. Al aprovechar estos verbos, ahora puede crear soluciones PowerShell sólidas, eficientes y consistentes para diversas tareas y escenarios.
Este tutorial es sólo el comienzo de su viaje para convertirse en un usuario competente de PowerShell. ¿Por qué no aprender otros verbos aprobados, como los verbos de manipulación de datos (es decir, Exportar, Importar, Ordenar) y verbos de ciclo de vida (es decir, Iniciar, Detener)? ¡Lleva tus habilidades de PowerShell al siguiente nivel hoy!









