Cria um filtro que controla quais objetos serão passados com um pipeline de comando.

Sintaxe

Where-Object [-FilterScript] <scriptblock> [-InputObject <psobject>] [<CommonParameters>]

Descrição

O cmdlet Where-Object seleciona objetos do conjunto de objetos que são passados para ele. Ele usa um bloco de script como um filtro e avalia o bloco de script para cada objeto. Se o resultado da avaliação for True, o objeto será retornado. Se o resultado da avaliação não for True, o objeto será ignorado.

Parâmetros

-FilterScript <scriptblock>

Especifica o bloco de script que é usado para filtrar os objetos. Coloque o bloco de script entre chaves ( {} ).

Necessário?

true

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-InputObject <psobject>

Especifica os objetos a serem filtrados. Também é possível canalizar os objetos para Where-Object.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

true (ByValue)

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

System.Management.Automation.PSObject

Você pode canalizar os objetos a serem filtrados para Where-Object.

Saídas

Exemplo 1

C:\PS>get-service | where-object {$_.Status -eq "Stopped"}

Descrição
-----------
Esse comando obtém uma lista de todos os serviços que estão interrompidos atualmente. O símbolo "$" representa cada objeto que é passado para o cmdlet Where-Object.






Exemplo 2

C:\PS>get-process | where-object {$_.workingset -gt 25000*1024}

Descrição
-----------
Esse comando lista os processos que têm um conjunto de trabalho superior a 25.000 quilobytes (KB). Como o valor da propriedade WorkingSet é armazenado em bytes, o valor 25.000 é multiplicado por 1.024.






Exemplo 3

C:\PS>get-process | where-object { $_.ProcessName -match "^p.*" }

Descrição
-----------
Esse comando obtém os processos com uma propriedade ProcessName que começa com o letra "p". O operador de correspondência o permite o uso de expressões regulares dentro uma cláusula Where.






Exemplo 4

C:\PS>get-process -name svchost | where-object {$True}

Descrição
-----------
Esse comando lista todos os processos denominados "svchost". 

O cmdlet Where-Object avalia o bloco de script, que geralmente inclui uma referência ao objeto que está atualmente no pipeline ($_), e converte os resultados em um tipo booleano: True ou False. Se o resultado for True, o objeto será retornado. Caso contrário, será descartado. 

Neste caso, o bloco de script apenas retorna True, assim todos os objetos são retornados.









Sumário