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.