Su Guía de Inicio para los Verbos Aprobados de PowerShell

Cuando se trata de scripts en PowerShell, las convenciones de nombres consistentes facilitan la tarea de construir soluciones sólidas. La buena noticia es que existen verbos aprobados en PowerShell que puedes utilizar al escribir scripts y comandos.

En este tutorial, aprenderás qué verbos aprobados utilizar en PowerShell a través de una serie de ejemplos.

¡Sumérgete y lleva tus scripts de PowerShell al siguiente nivel!

Prerrequisitos

Este tutorial comprende demostraciones prácticas. Si deseas seguir, asegúrate de tener un sistema que ejecute PowerShell 5.1 o posterior. Este tutorial utiliza Windows 11 con PowerShell 7.

Obtención de una lista de verbos aprobados en PowerShell

En PowerShell, los cmdlets son comandos pequeños y 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 del verbo del nombre describe la acción que realiza el cmdlet. Algunos verbos comunes utilizados en PowerShell son los siguientes:
Verb Function
Get Retrieves information.
Set Changes or updates settings.
New Creates something new.
Remove Deletes or removes something.
  • La parte del sustantivo del nombre identifica la entidad u objeto sobre el cual se realiza la acción, el objetivo sobre el cual actuar. El sustantivo suele describir la categoría o 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 en tu script:

Ejecuta el siguiente cmdlet Get-Verb para obtener una lista completa de verbos aprobados por PowerShell.

Get-Verb

La salida a continuación muestra solo algunos de los verbos que puedes usar en tu script.

Retrieving a complete list of approved verbs

Ahora, ejecuta el mismo comando como se muestra a continuación, pero esta vez, listarás todos los verbos aprobados que comienzan con re mediante una búsqueda con comodines. Haciendo esto, reduces la lista de verbos a aquellos asociados con reset, resize, redo, y así sucesivamente.

Get-Verb re*

Como se muestra a continuación, reducir la lista de verbos puede ser útil cuando tienes una acción específica en mente y deseas encontrar un verbo que se ajuste a esa acción.

Narrowing down the list of approved verbs

Creación de Nuevos Recursos mediante el Verbo New

Acabas de obtener una lista de verbos aprobados en PowerShell, pero ¿cómo usas esos verbos en tu script o al ejecutar comandos? Antepondrás el verbo New a un sustantivo que represente el tipo de recurso que deseas crear (es decir, usuario, archivo, servicio).

Pero en este ejemplo, crearás un nuevo recurso, específicamente un nuevo usuario, de la siguiente manera:

Ejecuta el siguiente comando New-LocalUser para crear un nuevo usuario llamado John Smith con una contraseña (Password123) y establece que la cuenta nunca caduque (-AccountNeverExpires).

New-LocalUser -Name "John Smith" -AccountNeverExpires -Password (ConvertTo-SecureString -AsPlainText "Password123" -Force
Creating a new resource (user account) via the New verb

Recuperación de Información de Recursos mediante el Verbo Get

Además de crear nuevos recursos, PowerShell también tiene un verbo que te permite recuperar información sobre cualquiera de tus recursos existentes. En PowerShell, el verbo Get se usa comúnmente para recuperar información sobre un recurso específico, como el sistema operativo, servicios, archivos y otros objetos.

Para recuperar información de recursos mediante el verbo Get:

Ejecuta 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, la salida muestra que la cuenta de usuario John Smith está Habilitada (activa).

Retrieving resource information via the Get verb

Modificación de Recursos Existentes mediante el Verbo Set

Imagina que notaste algo incorrecto después de ver la información de uno de tus recursos. ¿Cómo puedes modificar un recurso existente? ¡No te preocupes! Un verbo aprobado por PowerShell, el verbo Set, te permite hacer cambios en los recursos existentes.

En lugar de recrear recursos, el verbo Set te 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 como Hello y modificar el valor de $myVariable a Hello, World!. Estos comandos no proporcionan salida, pero verificará los cambios en el siguiente paso.

# Define un recurso de variable
$myVariable = "Hello"

# Modifica el valor de un recurso de variable existente
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 myVariable

Como se muestra a continuación, la salida muestra el nombre y el valor de la variable.

Retrieving information about a resource

Acciones de Activación o Invocación de Comandos a través del Verbo Invoke

En lugar de ejecutar manualmente comandos, 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 programáticamente.

Con un script de PowerShell y el verbo Invoke, puede ejecutar varios comandos de PowerShell a la vez sin escribirlos todos en la consola.

Para ver cómo funcionan las acciones de activación a través del verbo Invoke:

1. Ejecute el siguiente comando Invoke-Expression para invocar el comando Get-Date, que le permite recuperar la fecha y hora actual.

Invoke-Expression -Command "Get-Date"

La salida a continuación muestra una ejecución exitosa del comando Get-Date mediante el verbo Invoke.

Triggering a command via the Invoke verb

2. A continuación, crea un archivo de script de PowerShell (por ejemplo, InvokeVerbDemo.ps1) con tu editor de código preferido y completa el siguiente código.

Este código muestra (Write-Host) un mensaje de bienvenida e invoca el cmdlet Get-Service para listar todos los servicios en tu sistema.

# Mostrar un mensaje de bienvenida
Write-Host "Welcome to the Invoke Example!"

# Invocar el cmdlet Get-Service
Invoke-Command -ScriptBlock { Get-Service }

3. Ahora, ejecuta los siguientes comandos para invocar (Invoke-Expression) tu script de PowerShell (InvokeVerbDemo.ps1). Reemplaza el valor de la variable $scriptPath con la ruta de tu archivo de script.

$scriptPath = "C:\PowerShellScripts\InvokeVerbDemo.ps1"
Invoke-Expression -Command $scriptPath

La salida a continuación muestra un mensaje de bienvenida y una lista de todos los servicios en tu sistema, lo que confirma una ejecución exitosa de tu script.

Invoking a script via the Invoke verb

4. En lugar de solo comandos, escribe una función reutilizable (es decir, Invoke-MyTask) que puedas llamar en cualquier momento, como se muestra a continuación. Esencialmente, las funciones mejoran la mantenibilidad y reutilización de tus scripts de PowerShell.

En este ejemplo, la función Invoke-MyTask encapsula comandos para realizar lo siguiente al ser invocada:

  • Muestra (Write-Host) la cadena Ejecutando MyTask... en la consola.
  • Obtiene la lista de todos los procesos (Get-Process) y selecciona solo (Select-Object) las propiedades Name y CPU para cada proceso.
# Define una función personalizada usando el verbo Invoke
function Invoke-MyTask {
    # Tu tarea personalizada va aquí
    Write-Host "Executing MyTask..."
    Get-Process | Select-Object Name, CPU
}
Defining a PowerShell function

5. Por último, ejecuta el siguiente comando para invocar tu función (Invoke-MyTask).

Invoke-Expression -Command Invoke-MyTask

Verá una lista de todos los procesos en ejecución en su sistema con sus nombres y uso de CPU, como se muestra a continuación.

Invoking a function

Validación de recursos a través del verbo Test

Asegurar la precisión de los valores de entrada y las condiciones es fundamental al crear scripts de PowerShell robustos y resistentes a errores. Una herramienta poderosa a su disposición para este propósito es el verbo Test.

Al emplear el verbo Test, puede verificar rápidamente si una condición dada 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 a través del verbo Test.

Ejecute el código a continuación para probar (Test-Path) si un archivo existe (C:\MiCarpeta\ejemplo.txt) en la ruta especificada $filePath e imprima un mensaje dependiendo del resultado.

# Definir una ruta de archivo.
$filePath = "C:\MyFolder\example.txt"

# Probar si el archivo existe e imprimir un mensaje dependiendo del resultado
if (Test-Path $filePath) {
    Write-Host "The file exists at $filePath."
}
else {
    Write-Host "The file does not exist at $filePath."
}
Validating a resource via the Test verb

Conclusión

Ahora tiene una comprensión básica 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 de PowerShell sólidas, eficientes y consistentes para diversas tareas y escenarios.

Este tutorial es solo el comienzo de tu viaje para convertirte 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 los verbos del ciclo de vida (es decir, Iniciar, Detener)? ¡Lleva tus habilidades de PowerShell al siguiente nivel hoy mismo!

Source:
https://adamtheautomator.com/powershell-approved-verbs/