Pide tu presupuesto ya!
27th November 2024
A medida que profundiza en PowerShell, encontrará tres componentes principales esenciales para cualquier usuario de PowerShell: bloques de secuencias de comandos, matrices y tablas hash.
Los bloques de script le permiten encapsular y ejecutar fragmentos de código reutilizables; Las matrices le permiten organizar y manipular colecciones de datos. Al mismo tiempo, las tablas hash proporcionan una forma poderosa de almacenar y acceder a pares clave/valor.
Ya sea que sea un principiante o esté buscando perfeccionar sus habilidades, comprender estos conceptos mejorará significativamente su capacidad para escribir scripts de PowerShell efectivos.
Cuando ejecuta cualquier comando o código, ese código se llama expresión. Es un fragmento finito de código que ejecuta PowerShell.
Por ejemplo, para comprobar si existe un archivo, puede utilizar el Test-Path dominio:
Test-Path -Path C:\file.txt
Este comando es una expresión. Si necesita ejecutar este comando en varios lugares de su secuencia de comandos, puede encerrarlo entre llaves para crear un bloque de secuencia de comandos.
$myScriptBlock = { Test-Path -Path C:\file.txt }
El bloque de script parece una cadena normal.

Pero cuando agregas un signo comercial (&), PowerShell ejecuta el código dentro del bloque de script.
Los bloques de secuencias de comandos le permiten almacenar y ejecutar código en una variable según sea necesario, lo que los hace versátiles y reutilizables. Los bloques de secuencias de comandos se utilizan en diversas áreas de PowerShell y son un concepto esencial de comprender.

Anteriormente, trabajábamos con valores únicos como cadenas, números o valores booleanos. Exploremos ahora colecciones de objetos, comenzando con matrices.
Las matrices sirven como estructura de datos básica en PowerShell, facilitando la gestión de colecciones de elementos relacionados. Al utilizar matrices, puede consolidar múltiples valores en una sola variable, mejorando la organización y la eficiencia de la gestión de datos.
Considere un script de selección de color que contenga cuatro colores: blue, white, yellowy black.
$colorPicker = @('blue','white','yellow','black')
Las matrices en PowerShell se indican mediante el @ símbolo, con elementos separados por comas dentro de paréntesis. Puede leer y manipular estos elementos como un solo conjunto.
Por ejemplo, lea la matriz completa.

Para leer un elemento específico, haga referencia a su índice comenzando desde cero (0).
$colorPicker[0]
$colorPicker[2]
$colorPicker[3]

También puede utilizar el operador de rango para leer una secuencia de elementos.

Los elementos de una matriz se pueden agregar, eliminar o modificar, como un valor escalar.
Para cambiar el primer elemento (0):
$colorPicker[0] = 'pink'
$colorPicker

Para agregar (+) un nuevo elemento:
$colorPicker = $colorPicker + 'orange'
$colorPicker

O use un atajo para agregar el elemento (+=):
$colorPicker += 'brown'
$colorPicker

Al agregar varios elementos a la vez:
$colorPicker += @('pink','cyan')
$colorPicker

Además de las matrices, puedes utilizar un tipo diferente de colección llamada lista o, más específicamente, lista genérica.
$colorPicker = [System.Collections.Generic.List[string]]@('blue','white','yellow','black')
$colorPicker
Este código convierte la matriz en una System.Collections.Generic.List de cuerdas.

Con esta lista, puede agregar elementos usando el Add() método.
$colorPicker.Add('gray')
$colorPicker

O eliminar elementos usando el Remove() método.
$colorPicker.Remove('gray')
$colorPicker

Otra estructura de datos sólida en PowerShell son las tablas hash. Si bien las matrices son excelentes para manejar listas de elementos, las tablas hash ofrecen una forma más avanzada de almacenar y recuperar datos utilizando pares clave/valor.
Esta capacidad hace que las tablas hash sean ideales para tareas en las que se deben buscar rápidamente valores basados en identificadores únicos.
Ahora, exploremos las tablas hash de la siguiente manera:
$users = @{
abertram = 'Adam Bertram';
raquelcer="Raquel Cerillo";
zheng21 = 'Justin Zheng'
}
$users
A diferencia de las matrices, las tablas hash almacenan una etiqueta o clave que describe el valor.
Por ejemplo, esta tabla hash asigna nombres de usuario a sus nombres completos.

Puede leer elementos utilizando notación de puntos o corchetes.
$users['abertram']
$users.abertram

A continuación, para obtener una lista de claves o valores:
$users.Keys
$users.Values

Si prefieres ver los elementos en un estilo bien formateado:
Select-Object -InputObject $users -Property *

Al agregar elementos a una tabla hash, haga referencia a la clave entre paréntesis y asigne un valor.
$users['phrigo'] = 'Phil Rigo'
$users

Para verificar si una tabla hash contiene una clave particular, use el ContainsKey() método.
Este método regresa $true si la clave existe o $false si no.
$users.ContainsKey('johnnyq')
$users.ContainsKey('phrigo')
$users

Y finalmente, para eliminar un elemento, use el Remove() método con la clave.
$users.Remove('raquelcer')
$users

Con conocimientos sobre bloques de secuencias de comandos, matrices y tablas hash, ahora dispone de un conjunto de herramientas versátil para gestionar datos y código reutilizable en PowerShell. Estos conceptos básicos hacen que sus scripts sean más limpios y eficientes y sientan las bases para abordar tareas de PowerShell más avanzadas.
¡Continúe desarrollando estas habilidades y encontrará nuevas formas de automatizar y optimizar sus flujos de trabajo en PowerShell!
Leave a comment