Archivo de la etiqueta: Basico

Matrices y Hash Tables Con PowerShell

Las variables también pueden almacenar matrices que por definición son una lista indexada de valores, a cada elemento se le asigna un número de índice único, el primer elemento de una matriz se le asigna el valor de (0), el siguiente elemento (1), luego (2), y así sucesivamente.

Uno de los usos más populares de una matriz es ejecutar una secuencia de comandos en equipos remotos (entre otros). Por ejemplo, sí usted observa en un script la variable $strComputer = “.” esto significa que el script solo se ejecutará en el equipo local, sin embargo, usted podría ejecutar el script en un equipo remoto mediante la modificación del código como este:

$strComputer = "RemoteComputerName"

Pero, y si desea ejecutar la secuencia de comandos en varios equipos de la red, la respuesta es mediante el uso de una matriz.

Para crear una matriz, creamos una variable y la asignamos la matriz. Las matrices se crean con el símbolo “@”, por ejemplo; tomemos el debate anterior y utilicemos una matriz para ejecutar el script a varios equipos remotos:

$strComputers = @("Server1", "Server2", "Server3")

Ahora tenemos tres valores almacenados en la variable $strComputers, también podemos observar que cada valor de la matriz está separado por una coma.

Para obtener los valores de esta matriz solo basta con llamarla por su nombre desde nuestro script o haciendo énfasis a sus índices como lo mencionamos anteriormente, por ejemplo para obtener el valor “Server2” tenemos que llamar la matriz de esta forma:

$strComputers[1]

Otro tipo de matriz que podemos manejar en PowerShell son las Hash Table también se conoce como un diccionario. Es una matriz que permite almacenar datos de manera “clave-valor”, la “clave” y las entradas de “valor” puede ser cualquier tipo de datos y longitud, los elementos deben estar entre comillas dobles si contienen espacios.

Al igual que en un matriz, una Hash Table se inicia con el símbolo (@), hay diferencias entre ambas, por ejemplo, los elementos de la matriz se encierran entre paréntesis () mientras que en el Hash Table entre llaves {} y sus elementos están separados por punto y coma. Veamos cómo crear un Hash Table de usuarios asociados a su número de empleado:

$EmpNumbers = @{"Carlos Mata" = "112233";
                "Vanessa Paez" = "223344";
                "Richard Villalobos" = "334455"}

Esto nos creará una “mini base de datos”, donde almacenaremos los valores mencionados, sin embargo, como obtendremos acceso a los datos, por ejemplo de Vanessa Páez, lo hacemos de la siguiente forma:

$EmpNumbers["Vanessa Paez"]

Hasta la próxima !!!

Etiquetado , ,