Como usar várias condições no PowerShell onde o objeto?

Como usar várias condições no PowerShell onde o objeto?

Em PowerShell, o “Onde-objeto”O cmdlet é usado para filtrar os objetos ou valores de um objeto. O filtro de objeto onde compreende condições únicas ou múltiplas. O filtro de múltiplas condições permite filtrar os itens e retornar apenas alguns que correspondem a essas condições.

Para aplicar onde-objeto, é recomendável tubá-lo com outros cmdlets do PowerShell. Além disso, várias condições podem ser definidas usando blocos de script, vários operadores e assim por diante.

Este post demonstrará o trabalho e o uso de várias condições no PowerShell, onde objeto.

Como usar várias condições no PowerShell “WHERE-Object”?

PowerShell fornece as três possibilidades a seguir para usar várias condições no PowerShell:

  • Usando blocos de script e operadores de igualdade.
  • Usando blocos de script e operadores de contenção.
  • Usando blocos de script, igualdade e operadores correspondentes.

Método 1: Use várias condições no PowerShell "Where-Object" com blocos de script e operadores de igualdade

Um bloco de script compreende um conjunto de múltiplas declarações fechadas em aparelhos encaracolados. Esses tipos de blocos podem ser unidos com o cmdlet de objeto usando o “-FilterScriptParâmetro.

Exemplo

No exemplo a seguir, exerceremos operadores de igualdade com blocos de script para usar várias condições no PowerShell.

Vamos entender como um bloco de script é criado usando a sintaxe abaixo mencionada:

> $ _.PropertyName -Matching -Parameter

Na sintaxe acima, a ““$ _.”É o símbolo usado para se referir a uma propriedade. A propriedade e seu valor (a serem pesquisados) são unidos usando qualquer operador de igualdade (-gt, -ge, -lt, -le, -eq).

Aqui, usaremos um bloco de script para filtrar os processos com base no uso da CPU do processo e NPM (memória não-gorda usada por um processo). Os processos que cumprem as seguintes condições são filtrados usando o bloco de script:

  • Tendo NPM maior ou igual a 30
  • Tendo o uso da CPU maior que 3000:
> Get-Process | Onde -object -filterscript ($ _.NPM -LT 30) -E ($ _.CPU -GT 300)

A saída mostra que apenas os processos que têm NPM maiores que

Método 2: Use várias condições no PowerShell "Where-Object" com blocos de script e operadores de contenção

Operadores de contenção são os tipos de operadores de comparação. Esses operadores são fáceis de entender e ler em comparação com os blocos de script no PowerShell.

A lista de operadores de contenção e suas descrições adequadas está listada na tabela a seguir:

Operador Descrição
“-Contains” O valor no lado direito do operador está presente no grupo de valores no lado esquerdo.
“-CContains” O operando direito está presente no grupo de valores presentes à direita. O -CContains é sensível ao maiúsculas.
“-NotContains” O valor no lado direito do operador não está presente no lado esquerdo.
“-Cnotcontains” Este operador funciona da mesma forma que o dos -NotContains, mas com sensibilidade à caixa.

Exemplo

> Get-Service | Onde-objeto ($ _.StartType -in 'manual') -e ($ _.Status -NotContains 'Running')

De acordo com o código acima:

  • ““($ _.StartType -in 'Manual')"Pegue os serviços que estão em"Manual" modo.
  • ““-e”É usado como um concatenador para combinar as duas condições.
  • ““($ _.Status -NotContains 'Running')”Pegue os serviços que não estão em execução, o que significa os serviços que são interrompidos:

Método 3: Use várias condições no PowerShell "WHERE-Object" com o uso de operadores de igualdade e correspondência

Os operadores correspondentes são usados ​​para corresponder a uma condição ou padrão de elementos especificados. Esses operadores incluem “-Match "," -NotMatch ","-LIKE "e" -NOTLIE”.

Exemplo

Este comando contém várias condições com base em operadores de igualdade e correspondência:

> Get-Command | Onde-objeto ($ _.CommandType -eq 'cmdlet') -e ($ _.Nome -como '*importar*')

De acordo com este exemplo:

  • ““($ _.CommandType -eq 'cmdlet')”Obtenha os comandos iguais a“cmdlet”Usando o“-EqOperador.
  • ““($ _.Nome -como '*importar*')”Obtenha os nomes começando com“Importar”Usando o“-como”Operador:

Isso se tratava de usar várias condições no PowerShell.

Conclusão

Várias condições são as em que mais de duas declarações ou condições são definidas. Essas condições são usadas no PowerShell “Onde-objeto”Com a combinação de blocos de script e declarações de comparação. Este post forneceu um guia completo para usar várias condições no PowerShell.