Valores Booleanos no PowerShell

  1. Definição de Booleano no Windows PowerShell
  2. Conclusão
Valores Booleanos no PowerShell

Nos scripts do Windows PowerShell, frequentemente usamos lógica baseada em algo verdadeiro.

Mas pode haver situações em que você precisa lidar com o inverso. Ou seja, uma situação em que você precisa saber quando algo não atende a alguns critérios.

Portanto, enquanto escreve e depura, o PowerShell adota uma abordagem mais positiva. É essencial entender a negação.

Neste artigo, exploraremos o uso de valores booleanos no PowerShell por meio de comandos e operadores nativos, demonstrando sua versatilidade e importância no desenvolvimento de scripts.

Definição de Booleano no Windows PowerShell

Ao decidir se algo é ou não no PowerShell, falamos sobre valores booleanos representados como $True ou $False.

A sintaxe básica mostrada abaixo explica como o Booleano funciona. Os valores do tipo Booleano são formas de saída que retornam True ou False.

Ainda assim, a sintaxe usa operadores de comparação e condicionais para comparar os dois ou múltiplos valores.

Código de Exemplo:

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

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

No código fornecido, utilizamos o operador -eq para verificar se a string "yes" corresponde a "yes". Dado que ambas as strings são idênticas, essa comparação resulta em $true.

Por outro lado, empregando o operador -ne, examinamos se a string "no" difere de "no". No entanto, como ambas as strings são idênticas, a comparação retorna $false.

Saída:

valores booleanos no powershell - saída 1

Ao avaliar a expressão booleana, ela compara o lado esquerdo do valor com o lado direito do valor. Se o valor do lado esquerdo é igual ao valor do lado direito, então é avaliado como True; caso contrário, False, como mostrado acima.

Enquanto -eq e -ne são valiosos para comparar valores individuais, podemos alcançar avaliações mais complexas usando os operadores and e or.

No PowerShell, os operadores and e or são usados para combinar múltiplas condições e avaliá-las juntas.

Código de Exemplo:

$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"

No código fornecido, primeiro definimos $condition1 como $true e $condition2 como $false. Em seguida, usamos o operador and para combinar essas condições.

Uma vez que $condition1 é verdadeiro e $condition2 é falso, o resultado de $result1 será $false. Em seguida, usamos o operador or para combinar as mesmas condições.

Dado que pelo menos uma condição ($condition1) é verdadeira, o resultado de $result2 será $true.

Saída:

valores booleanos no powershell - saída 2

Existem várias maneiras de outputar um valor booleano, e discutiremos elas na próxima seção do artigo.

Usando Operadores de Comparação

Podemos usar múltiplos operadores condicionais para comparar valores e outputar um resultado booleano como nosso primeiro exemplo.

Código de Exemplo:

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

Neste script, utilizamos diferentes operadores de comparação para avaliar a relação entre valores distintos. O operador -eq avalia se 10 é igual a 10, o que é verdadeiro e, portanto, resulta em $true.

No entanto, o operador -gt examina se 10 é maior que 20, o que é falso e, portanto, resulta em false. Da mesma forma, os operadores -lt, -le e -ge são empregados para examinar se 10 é menor que, menor ou igual a, e maior ou igual a certos valores, respectivamente, fornecendo comparações esclarecedoras entre os valores.

Saída:

valores booleanos no powershell - saída 3

Usando Comandos do PowerShell

Alguns comandos nativos do Windows PowerShell retornam valores booleanos. Um exemplo disso é o cmdlet Test-Path.

O cmdlet Test-Path verifica se o caminho do diretório existe dentro da nossa máquina local.

Código de Exemplo:

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

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

Neste script, usamos o comando Test-Path para verificar se o diretório C:\Windows\temp existe no sistema. O resultado do comando Test-Path é armazenado na variável $exists, que será $true se o diretório existir e $false se não existir.

Saída:

valores booleanos no powershell - saída 4

Alguns comandos nativos exigirão um parâmetro para retornar um valor booleano. Por exemplo, o comando Test-Connection usa o parâmetro -Quiet para retornar um valor booleano.

Código de Exemplo:

# 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"

Neste script, utilizamos o comando Test-Connection para enviar dois pacotes de requisição de eco para www.google.com e determinar se o host é acessível. Ao especificar o parâmetro -Quiet, suprimimos toda a saída, exceto pelo resultado final, que é armazenado na variável $reachable.

Se www.google.com for acessível, o valor de $reachable será true; caso contrário, será false.

Saída:

valores booleanos no powershell - saída 5

Conclusão

Os valores booleanos são fundamentais na scripting do PowerShell, permitindo a avaliação de condições e o controle do fluxo do programa. Enquanto $True e $False são representações booleanas nativas no PowerShell, alternativas como 1 e 0 também podem ser empregadas em certos cenários, particularmente ao interagir com sistemas externos ou APIs.

O uso de operadores de comparação como -eq e -ne facilita comparações diretas entre valores, retornando resultados booleanos. Além disso, comandos do PowerShell como Test-Path e Test-Connection expandem ainda mais a utilidade dos valores booleanos, fornecendo métodos para avaliar a existência de diretórios ou a acessibilidade de hosts.

Entender e utilizar eficazmente os valores booleanos no PowerShell melhora a funcionalidade e a eficiência dos scripts, capacitando os usuários a criar soluções de automação robustas e confiáveis.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
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

Artigo relacionado - PowerShell Boolean