Capítulo 3: Variables en PowerShell

Usar variables en PowerShell

Para definir una variable en PowerShell sólo tenemos que nombrarla, aunque siguiendo una serie de restricciones:

  • El primer carácter debe ser siempre un símbolo de dólar ($)

  • Después, podemos utilizar cualquier combinación de letras, números o símbolos.

  • También pueden utilizarse espacios en blanco pero, en este caso, el nombre debe ir rodeado por símbolos de llaves ({})

Habitualmente, la primera vez que se utiliza una variable es para asignarle un valor inicial. Por ejemplo:

Scripts-en-PowerShell-Guia-para-principiantes-075

Un par de observaciones sobre el ejemplo anterior:

  • El símbolo de igual (=) permite asignar valores en PowerShell, y debemos leerlo de derecha a izquierda. Es decir, el valor representado a la derecha del símbolo es asignado a la variable que aparezca a la izquierda.

  • En PowerShell, los valores textuales van rodeados por el símbolo de comillas (“). El primero indica dónde comienza el texto y el segundo dónde acaba. También pueden utilizarse símbolos de apóstrofe (‘), pero no pueden mezclarse, es decir, debemos acabar con el mismo símbolo con el que comencemos.

Algunos nombre válidos para variables podrían ser estos:

Scripts-en-PowerShell-Guia-para-principiantes-076

Podríamos decir que la forma de definir variables que hemos explicado es implícita, porque la variable se define automáticamente al utilizarla. Sin embargo, existe también un modo explícito usando el cmdlet New-Variable. Por ejemplo, podemos definir una variable usando la siguiente sintaxis:

Scripts-en-PowerShell-Guia-para-principiantes-077

Observa que no hemos utilizado el símbolo de dólar ($) al principio, pero sí lo incluiremos al utilizarla.

Si queremos una sintaxis más descriptiva, podemos incluir argumentos:

Scripts-en-PowerShell-Guia-para-principiantes-078

Incluso podríamos asignar un valor inicial:

Scripts-en-PowerShell-Guia-para-principiantes-079

Si una variable va a contener un valor que no debe cambiar a lo largo del script, podemos indicar que sea de sólo lectura:

Scripts-en-PowerShell-Guia-para-principiantes-080

Formalmente, las variables que no cambian a lo largo del script, reciben el nombre de constantes.

Para profundizar sobre el uso de New-Variable puedes recurrir a la página https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/new-variable.

En cualquier momento puedes obtener una lista completa de las variables que se hayan definido hasta ese momento. Para lograrlo, basta con utilizar el cmdlet Get-Variable.

Salida del cmdlet Get-Variable.

Scripts-en-PowerShell-Guia-para-principiantes-081

Como ves en la imagen anterior, se muestran tanto las definidas por el usuario como las predefinidas por PowerShell