Valores Booleanos en PowerShell

  1. Definición de Booleano en Windows PowerShell
  2. Conclusión
Valores Booleanos en PowerShell

En los scripts de Windows PowerShell, a menudo utilizamos lógica basada en algo verdadero.

Pero puede haber situaciones en las que necesites manejar la inversa. Es decir, una situación en la que debes saber cuándo algo no cumple con algún criterio.

Así que, mientras escribimos y depuramos, PowerShell adopta un enfoque más positivo. Es esencial entender la negación.

En este artículo, exploraremos el uso de valores booleanos en PowerShell a través de comandos y operadores nativos, demostrando su versatilidad y significado en el desarrollo de scripts.

Definición de Booleano en Windows PowerShell

Al decidir si algo está o no en PowerShell, hablamos de valores booleanos representados como $True o $False.

La sintaxis básica que se muestra a continuación explica cómo funciona Boolean. Los valores de tipo booleano son formas de salida que devuelven True o False.

Aún así, la sintaxis utiliza operadores de comparación y operadores condicionales para comparar los dos o múltiples valores.

Código de Ejemplo:

# Using -eq operator
"yes" -eq "yes"

# Using -ne operator
"no" -ne "no"

En el código proporcionado, utilizamos el operador -eq para determinar si la cadena "yes" coincide con "yes". Dado que ambas cadenas son idénticas, esta comparación da como resultado $true.

Por el contrario, empleando el operador -ne, examinamos si la cadena "no" difiere de "no". Sin embargo, dado que ambas cadenas son idénticas, la comparación devuelve $false.

Salida:

valores booleanos en powershell - salida 1

Al evaluar la expresión booleana, se compara el lado izquierdo del valor con el lado derecho del valor. Si el valor del lado izquierdo es igual al valor del lado derecho, entonces se evalúa como True; de lo contrario, False, como se mostró arriba.

Mientras -eq y -ne son valiosos para comparar valores individuales, podemos lograr evaluaciones más complejas utilizando los operadores and y or.

En PowerShell, los operadores and y or se utilizan para combinar múltiples condiciones y evaluarlas juntas.

Código de Ejemplo:

$condition1 = $true
$condition2 = $false

# Using 'and' operator
$result1 = $condition1 -and $condition2

# Using 'or' operator
$result2 = $condition1 -or $condition2

Write-Host "Result of condition1 AND condition2: $result1"
Write-Host "Result of condition1 OR condition2: $result2"

En el código proporcionado, primero establecemos $condition1 en $true y $condition2 en $false. Luego usamos el operador and para combinar estas condiciones.

Dado que $condition1 es verdadero y $condition2 es falso, el resultado de $result1 será $false. A continuación, utilizamos el operador or para combinar las mismas condiciones.

Dado que al menos una condición ($condition1) es verdadera, el resultado de $result2 será $true.

Salida:

valores booleanos en powershell - salida 2

Hay múltiples maneras de producir un valor booleano, y las discutiremos en la siguiente sección del artículo.

Usando Operadores de Comparación

Podemos usar múltiples operadores condicionales para comparar valores y producir un resultado booleano como nuestro primer ejemplo.

Código de Ejemplo:

10 -eq 10 # equal
10 -gt 20 # greater than
10 -lt 20 # less than
10 -le 11 # less than or equal
10 -ge 8 # greater than or equal

En este script, utilizamos diferentes operadores de comparación para evaluar la relación entre valores distintos. El operador -eq evalúa si 10 es igual a 10, lo cual es verdadero y por lo tanto resulta en $true.

Sin embargo, el operador -gt examina si 10 es mayor que 20, lo cual es falso y por lo tanto produce false. De manera similar, los operadores -lt, -le y -ge se emplean para examinar si 10 es menor que, menor o igual a, y mayor o igual a ciertos valores, respectivamente, proporcionando comparaciones interesantes entre los valores.

Salida:

valores booleanos en powershell - salida 3

Usando Comandos de PowerShell

Algunos comandos nativos de Windows PowerShell devuelven valores booleanos. Un ejemplo de esto es el cmdlet Test-Path.

El cmdlet Test-Path verifica si la ruta del directorio existe dentro de nuestra máquina local.

Código de Ejemplo:

# Check if the directory C:\Windows\temp exists
$exists = Test-Path -Path "C:\Windows\temp"

# Print the result
Write-Host "Directory exists: $exists"

En este script, usamos el comando Test-Path para verificar si el directorio C:\Windows\temp existe en el sistema. El resultado del comando Test-Path se almacena en la variable $exists, que será $true si el directorio existe y $false si no.

Salida:

valores booleanos en powershell - salida 4

Algunos comandos nativos requerirán un parámetro para devolver un valor booleano. Por ejemplo, el comando Test-Connection utiliza el parámetro -Quiet para devolver un valor booleano.

Código de Ejemplo:

# Check if we can reach www.google.com with 2 echo request packets and suppress output
$reachable = Test-Connection -ComputerName "www.google.com" -Count 2 -Quiet

# Print the result
Write-Host "Host is reachable: $reachable"

En este script, utilizamos el comando Test-Connection para enviar dos paquetes de solicitud de eco a www.google.com y determinar si el host es accesible. Al especificar el parámetro -Quiet, suprimimos toda salida excepto el resultado final, que se almacena en la variable $reachable.

Si www.google.com es accesible, el valor de $reachable será true; de lo contrario, será false.

Salida:

valores booleanos en powershell - salida 5

Conclusión

Los valores booleanos son fundamentales en la escritura de scripts de PowerShell, permitiendo la evaluación de condiciones y el control del flujo del programa. Aunque $True y $False son representaciones booleanas nativas en PowerShell, alternativas como 1 y 0 también pueden ser empleadas en ciertas situaciones, particularmente al interactuar con sistemas externos o APIs.

El uso de operadores de comparación como -eq y -ne facilita comparaciones directas entre valores, devolviendo resultados booleanos. Además, comandos de PowerShell como Test-Path y Test-Connection amplían aún más la utilidad de los valores booleanos, proporcionando métodos para evaluar la existencia de directorios o la accesibilidad de hosts.

Entender y utilizar efectivamente los valores booleanos en PowerShell mejora la funcionalidad y eficiencia del script, empoderando a los usuarios para crear soluciones de automatización robustas y confiables.

¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artículo relacionado - PowerShell Boolean