Além de ser uma ferramenta de linha de comando, o PowerShell é uma linguagem de programação da Microsoft que permite controlar e automatizar sistemas. O PowerShell utiliza uma sintaxe diferente para seus operadores do que a maioria das linguagens de programação.
No entanto, uma vez que você entenda a sintaxe do operador do PowerShell, verá que não é difícil de usar. Um dos operadores mais comuns que você usará no PowerShell é o operador de Não Igual (-ne
). Este operador permite testar se dois valores não são iguais entre si.
Neste artigo, você aprenderá sobre o operador de Não Igual do PowerShell e como usá-lo com exemplos.
Pré-requisitos
Este tutorial será uma demonstração prática. Se você quiser acompanhar, certifique-se de ter um sistema com o PowerShell instalado. Este tutorial utiliza o Windows 10 e o PowerShell 7.
Usando o Operador de Não Igual do PowerShell (Básico)
Em suma, o operador de Não Igual do PowerShell (-ne
) determina se o valor de dois objetos não é igual e retorna um valor booleano com base no resultado. Se os valores não forem iguais, o resultado é True
; caso contrário, o resultado é False
.
Mas como e quando você usa o operador de Não Igual do PowerShell? As seções seguintes ensinarão os fundamentos do operador de Não Igual do PowerShell.
Comparando Variáveis
Um dos usos mais comuns do operador Not Equal no PowerShell é comparar duas variáveis. Por exemplo, suponha que você tenha duas variáveis, $a
e $b
, e queira verificar se elas são iguais. A sintaxe da comparação é a seguinte:
Se os valores de $a
e $b
não forem iguais, esta comparação retornará True
. Caso contrário, retornará Falso.
1. Execute os seguintes comandos no console do PowerShell para criar as variáveis que você usará como exemplos. As variáveis $a, $b, $c e $d representam valores diferentes. Você pode comparar cada um desses valores para testar se são iguais ou não.
Atribua a $c e $d o mesmo valor para ver como o operador Not Equal do PowerShell funciona com valores iguais.
2. Agora, faça a comparação Not Equal no PowerShell para ver se os valores de $a e $b não são iguais.
O resultado retorna True porque o valor de $a é 1 e o de $b é 2, que não são iguais.

3. Agora, compare as variáveis $c e $d para ver se também não são iguais.
Você verá uma saída False, como mostrado na imagem abaixo, já que os valores de $c e $d são iguais (3=3).

Comparando Valores
Ao trabalhar com o PowerShell, nem todos os objetos que você deseja comparar estão em variáveis. Nesse caso, você pode comparar diretamente os valores com o operador Not Equal do PowerShell.
Por exemplo, o comando abaixo compara dois valores diretamente usando o operador Not Equal do PowerShell.
Você verá um retorno de valor True, como mostrado abaixo, já que os valores não são iguais.

Por outro lado, comparar valores iguais retornará Falso
.

Removendo um Valor do Array
O operador PowerShell Diferente de retorna um resultado booleano para indicar se dois valores não são iguais. Além dessa função, este operador também pode filtrar itens de um array.
Por exemplo, crie uma variável chamada $numbers
contendo um array de números de 1 a 5.

Em seguida, execute o comando abaixo para retornar o array exceto um número (4
).
E agora você pode ver que o comando retornou todos os números no array exceto o número 4.

Comparando Strings
Além de números, você também pode aplicar a comparação de Diferente de no PowerShell em strings.
1. Por exemplo, suponha que você tenha duas strings, “Olá” e “Mundo”. Para determinar se as duas strings não são iguais, execute o comando abaixo.
O resultado é Verdadeiro, pois “Olá” não é igual a “Mundo”.

2. Agora compare as strings “Olá” e “olá” para ver se são iguais.
Então você verá que o resultado é Falso porque “Olá” é igual a “olá”.

3. O operador PowerShell Not Equal não diferencia maiúsculas de minúsculas. Como pode ver no passo anterior, “Hello” é igual a “hello”. Mas se precisar de sensibilidade a maiúsculas e minúsculas ao comparar valores de string, substitua o operador -ne pelo operador -cne, que significa Case Sensitive Not Equal.
Como resultado, “Hello” e “hello” já não são iguais de acordo com o PowerShell.

Usando o Operador PowerShell Not Equal no Mundo Real (Exemplos)
Agora que compreende o conceito básico do operador PowerShell Not Equal, as seguintes seções permitir-lhe-ão experimentar alguns dos seus usos no mundo real.
Monitorizando o Estado dos Serviços
A staple of Windows systems administration is monitoring the server service status. This task involves filtering out which services whose Status Is Not Running
.
Por exemplo, execute o cmdlet Get-Service
para exibir todos os serviços na máquina local.
Pode ver todos os serviços parados e em execução no resultado abaixo.

Agora, para filtrar apenas os serviços que não estão Em execução
, execute o comando abaixo e aplique o operador -ne
da seguinte forma.
Como pode ver abaixo, a coluna de Estado mostra apenas os serviços Parados após aplicar a comparação Not Equal do PowerShell.

Da mesma forma, execute o comando abaixo para retornar os serviços cujo Estado Não é Parado
.
Desta vez, apenas verá os serviços que estão em execução.

Combinando o PowerShell Not Equal com o Operador AND
Além de realizar uma comparação 1:1, você pode combinar a condição Not Equal do PowerShell com outro operador de comparação, como -eq
(igual), usando o operador -and
. Este método é útil quando o objeto que você está comparando deve atender a várias condições.
Por exemplo, monitorar os serviços do servidor geralmente envolve garantir que todos os serviços automáticos estejam em execução. Execute o comando abaixo para listar todos os serviços cujo Status não está em Execução
e cujo StartType é Automático
. Neste exemplo, o valor do objeto deve atender a todas as condições.
Agora você pode ver os serviços automáticos que não estão em execução, o que pode ajudar a decidir quais ações você deve tomar.

Adicionando Lógica Condicional If/Else
Você também pode usar o operador Not Equal do PowerShell dentro das declarações condicionais, como a declaração if/else.
Por exemplo, um serviço deve estar em execução na maioria dos casos se o valor do StartType for Automático. O script abaixo obtém todos os serviços, verifica quais serviços automáticos não estão em execução e executa a(s) ação(ões) corretiva(s) – para exibir uma mensagem e iniciar o serviço.
Nota: A linha Start-Service $_.Name está comentada e não será executada. Descomente esta linha se desejar executar o comando.
Copie o código abaixo e execute-o no PowerShell.
O resultado mostra quais serviços automáticos não estão em execução.

Conclusão
Neste artigo, você aprendeu sobre o operador de Não Igual no PowerShell. Você também aprendeu como usá-lo com exemplos. Neste ponto, você deve ter uma boa compreensão de como ele funciona.
Com esse novo conhecimento, agora você pode usar o operador de Não Igual em seus scripts do PowerShell para testar condições. No entanto, tenha em mente que outros operadores de comparação também estão disponíveis. Você pode querer combinar múltiplos operadores para testar condições mais complexas.