PowerShell Where-Object Cláusula

PowerShell Where-Object Cláusula
A cláusula WHERE-Object em PowerShell filtra o conteúdo de acordo com um valor específico da propriedade de um objeto. A cláusula de objeto onde também pode ser usada com qualquer cmdlet/função para atingir um valor de propriedade específico de um objeto. Este artigo fornece uma breve demonstração da cláusula de objeto em PowerShell. Depois de seguir este guia, você seria capaz de obter boas práticas onde as cláusulas objeto. Então, vamos começar com este guia.

Como funciona a cláusula de objeto

Como discutido anteriormente, a cláusula de objeto pode ser associada a qualquer cmdlet/função. A cláusula de objeto onde segue dois critérios de formatação para executar a ação. Você pode adotar qualquer um dos mencionados abaixo.

A primeira sintaxe executa a cláusula de objeto em um formato de bloco de scripts, enquanto a segunda sintaxe executa a ação usando uma instrução de comparação.

Observação: O bloco de script compreende múltiplas expressões/declarações para executar a ação como uma única unidade (fechada em aparelhos). No entanto, a declaração de comparação é escrita em inglês normal.

Sintaxe do bloco de script: where-object $ _. ""
Declaração de comparação Sintaxe: Where-Object ""

Observa -se que os termos básicos em ambas as sintaxes são os mesmos e são definidos abaixo:

: Isso se refere ao nome da propriedade da coleção de objetos.

: Onde o objeto suporta vários parâmetros que preencherem a relação entre propriedade e o valor.

: Esta opção refere -se ao valor da propriedade.

Entre esses casos de sintaxe, os parâmetros são o principal ingrediente. Então, vamos dar uma rápida olhada nos parâmetros que podem ser usados ​​na cláusula de objeto onde.

Parâmetros suportados pela cláusula onde o objeto

Os parâmetros suportados pela cláusula de objeto onde são principalmente os operadores de comparação e são definidos abaixo:

  • Eq: retorna a coleção de objetos que são iguais ao valor especificado no comando.
  • NE: Este parâmetro mostra os objetos que não correspondem ao valor.
  • LT: Esses objetos são impressos que satisfazem a condição menor que.
  • LE: verifica a coleção para uma condição menos ou igual.
  • GT: procura objetos que tenham maior que o valor especificado.
  • GE: O operador maior ou igual ou igual compara os valores do objeto para o valor especificado.
  • Não: refere -se à propriedade que não existe ou o valor é nulo.
  • Correspondência: esta expressão corresponde à expressão regular.

Como usar a cláusula PowerShell WHERS-Object

Esta seção pratica o uso da cláusula de objeto em PowerShell. Vários exemplos são citados para transmitir a mensagem de maneira compreensível.

Exemplo 1: Usando a cláusula de objeto no cmdlet Get-Command

O cmdlet de Get-Command lista todos os alias, cmdlets, funções suportadas pelo PowerShell. Digamos que queremos obter o Função Fornecido por este comando. Para fazer isso, o comando com as seguintes propriedades é executado no Console PowerShell:

  • Em primeiro lugar, o comando é canalizado com a cláusula de objeto onde
  • Então um operador de comparação (-Eq) é usado para encontrar o CommandType(Propriedade) valores iguais a Função.

Resultado, o comando imprimirá os valores desejados que satisfazem a condição acima mencionada.

> Get-Command | Where -Object CommandType -EQ Função

Observa -se que o comando é executado em um formato de declaração de comparação. Além disso, o mesmo comando pode ser executado usando a sintaxe do bloco de script da seguinte maneira.

> Get-Command | Onde-objeto $ _.CommandType -eq "function"

Exemplo 2: Usando a cláusula de objeto no cmdlet Get-Process

Vamos realizar a cláusula de objeto onde no CMDLET Get-Process. O cmdlet Get-Process imprime os processos do sistema. O comando fornecido abaixo imprime apenas os processos que têm Nome do processo igual a cromada. Para isso, o parâmetro -eq é usado, o nome da propriedade é Nome do processo e o valor da propriedade é cromada. Então, após a formatação, o comando é escrito abaixo:

> Get-Process | Onde -Objeto Processname -eq Chrome

O comando equivalente de bloco de script está escrito abaixo. Ambos os comandos produzem a mesma saída, mas a sintaxe é diferente.

> Get-Process | Onde-objeto $ _.ProcessName -eq "Chrome"

Exemplo 3: Usando a cláusula de objeto com o cmdlet de serviço Get-Service

O CMDLET de serviço Get imprime os serviços da sua máquina Windows no shell. Você pode recuperar o status dos serviços usando a classe de objeto onde. Por exemplo, se uma lista de apenas serviços parados forem necessários, então o objeto é usado da seguinte maneira.

> Get-Service | Onde o status de objeto -eq parou

Conclusão

A cláusula de objeto onde em PowerShell permite considerar os objetos que satisfazem a condição especificada. Para isso, os operadores de comparação são usados ​​para obter os objetos que correspondem aos valores de uma propriedade. Nesta demonstração, o mecanismo de trabalho e o uso da cláusula de objeto onde são discutidos em detalhes. A principal funcionalidade da cláusula de objeto depende dos parâmetros de comparação. Esses operadores verificam os valores dos objetos e os comparam com os valores especificados. Além disso, você também encontraria uma descrição detalhada de cada parâmetro que pode ser usado com a cláusula de objeto onde.