Pide tu presupuesto ya!

Variables especiales integradas en PowerShell

En esta lección, exploraremos las variables automáticas en PowerShell: variables especiales integradas en el sistema. A diferencia de las variables que creamos nosotros mismos, estas variables automáticas están predefinidas por PowerShell y tienen propósitos específicos. Veamos algunos ejemplos comunes y cómo usarlos.

Modificación de variables automáticas

miremos $MaximumHistoryCountPor ejemplo. Esta variable automática define cuántas líneas de su historial de comandos se guardan.

💡 Consejo: ejecute el Get-History comando a veces si tiene curiosidad sobre qué comandos ha ejecutado anteriormente.

El valor máximo parece estar establecido en 4096 líneas.

Cambiemos el valor a 200 porque no necesito tanta historia.

$MaximumHistoryCount = 200

¡Perfecto! Pero la mayoría de las variables automáticas no se pueden sobrescribir.

Intentemos cambiar el valor de $PSEdition.

$PSEdition = 'something else'
Intentando cambiar el valor de la variable $PSEdition

Ese intento no funcionó porque la mayoría de las variables automáticas son de solo lectura o están definidas como constantes.

Crear y gestionar constantes

Otro aspecto de la gestión de variables es establecerlas como constantes, lo que significa que una vez que las configuras, no puedes cambiarlas.

Para crear una constante, use el Set-Variable cmdlet y el Option parámetro.

Set-Variable -Name 'color' -Value 'green' -Option Constant
$color
$color="blue"

Parece el mismo mensaje de error. Es probable que el $PSEdition La variable automática se define como una constante.

Intentar anular el valor de una variable constante

Comprobación de códigos de salida

Aquí hay otra variable automática útil cuando se trabaja con ejecutables: el $LastExitCode variable. Cuando finaliza un ejecutable, devuelve un código de salida que indica el resultado, como 0 para éxito, 1 para fracaso, etc.

Usando el $LastExitCode variable, puede ejecutar un ejecutable y luego verificar el código de salida del último resultado.

Demostrémoslo haciendo ping a algún host desconocido y comprobando el valor de $LastExitCode.

ping.exe 111.111.111.111 -n 1
$LastExitCode

Observe que el código de salida es 1lo cual era de esperar ya que el ping no tuvo éxito.

Ahora, hagamos ping a algo para obtener un resultado exitoso.

ping.exe 127.0.0.1 -n 1; $LastExitCode

Observe que el valor devuelto ahora es 0. Observa también cómo se realizaron dos acciones en la misma línea. Puede hacer esto en PowerShell usando el punto y coma.

PowerShell, de forma predeterminada, cree que cada línea que escribe es una ejecución separada, por lo que trata un punto y coma como una nueva línea y ejecuta acciones en secuencia.

Ejecutar un ping exitoso y verificar el código de salida (0)

Definición y uso de variables nulas

Terminemos con una variable automática más que probablemente usarás mucho: la $null variable. Esta variable es especial, es un valor y no lo es al mismo tiempo.

Esta variable es simplemente un marcador de posición para nada, particularmente útil en modo estricto.

Set-StrictMode -Version Latest

El modo estricto se vuelve exigente con las variables. No puedes simplemente intentar llamar a una variable, como $foo; devolverá un error.

Llamar a una variable en modo estricto

Pero si defines la variable, está bien.

Definir y llamar a una variable

Pero, ¿qué pasa si planeas definir una variable pero no tienes un valor? Introduzca el $null variable.

Asigne su variable a la $null variable; ahora tiene una variable definida sin valor.

$bar = $null
Get-Variable -Name bar
Definiendo una variable nula

Eso es todo para las variables. Cubrimos todos los conceptos básicos y, con suerte, hay algunos consejos sobre dónde puede explorar más a fondo.

Written by

Leave a comment