Partilhar via


Where-Object

Seleciona objetos de uma coleção com base em seus valores de propriedade.

Sintaxe

EqualSet (Predefinição)

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-EQ]
    [<CommonParameters>]

ScriptBlockSet

Where-Object
    [-FilterScript] <ScriptBlock>
    [-InputObject <PSObject>]
    [<CommonParameters>]

MatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Match
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CEQ
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NE
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNE
    [-InputObject <PSObject>]
    [<CommonParameters>]

GreaterThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -GT
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveGreaterThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CGT
    [-InputObject <PSObject>]
    [<CommonParameters>]

LessThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -LT
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveLessThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CLT
    [-InputObject <PSObject>]
    [<CommonParameters>]

GreaterOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -GE
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveGreaterOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CGE
    [-InputObject <PSObject>]
    [<CommonParameters>]

LessOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -LE
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveLessOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CLE
    [-InputObject <PSObject>]
    [<CommonParameters>]

LikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Like
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CLike
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotLike
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotLike
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CMatch
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotMatch
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotMatch
    [-InputObject <PSObject>]
    [<CommonParameters>]

ContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Contains
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CContains
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotContains
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotContains
    [-InputObject <PSObject>]
    [<CommonParameters>]

InSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -In
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CIn
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotIn
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotIn
    [-InputObject <PSObject>]
    [<CommonParameters>]

IsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Is
    [-InputObject <PSObject>]
    [<CommonParameters>]

IsNotSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -IsNot
    [-InputObject <PSObject>]
    [<CommonParameters>]

Not

Where-Object
    [-Property] <String>
    -Not
    [-InputObject <PSObject>]
    [<CommonParameters>]

Description

O Where-Object cmdlet seleciona objetos que têm valores de propriedade específicos da coleção de objetos que lhe são passados. Por exemplo, pode usar o Where-Object cmdlet para selecionar ficheiros criados após uma certa data, eventos com um ID específico, ou computadores que utilizam uma versão específica do Windows.

A partir do Windows PowerShell 3.0, existem duas formas diferentes de construir um Where-Object comando.

  • Sintaxe do bloco de scripts. Pode usar um bloco de script para especificar o nome da propriedade, um operador de comparação e o valor da propriedade. Where-Object devolve todos os objetos para os quais a instrução do bloco de script é verdadeira.

    Por exemplo, o comando seguinte obtém processos onde o valor da propriedade PriorityClass é Normaligual a .

    Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}

    Todos os operadores de comparação PowerShell são válidos no formato de bloco de script. Para obter mais informações, consulte o documento sobre_Operadores_de_Comparação.

  • Sintaxe simplificada. Para permitir a sintaxe simplificada, Where-Object inclui 31 parâmetros de comutador que representam os operadores de comparação. A sintaxe simplificada é mais fácil de ler e escrever do que a sintaxe de blocos de script. Podes combinar um dos parâmetros do switch com os parâmetros Property e Value para criar um comando que filtra objetos com base nos valores das suas propriedades.

    Por exemplo, os seguintes comandos também obtêm processos que têm uma classe de prioridade de Normal. Estes comandos são equivalentes e podes usá-los de forma intercambiável.

    Get-Process | Where-Object -Property PriorityClass -Value Normal -EQ

    Get-Process | Where-Object PriorityClass -EQ Normal

    Como mostrado no exemplo, os nomes dos parâmetros Property e Value são opcionais. O parâmetro de propriedade é um parâmetro posicional mapeado para a posição 0. O parâmetro de valor é um parâmetro posicional mapeado para a posição 1. O parâmetro de comutação, usado para especificar a comparação, pode ser usado em qualquer posição.

    A sintaxe simplificada foi introduzida no Windows PowerShell 3.0. Para mais informações, consulte about_Simplified_Syntax.

Quando fornece uma única Propriedade a Where-Object, o cmdlet trata o valor da propriedade como uma expressão booleana. Quando o valor do Comprimento da propriedade não é zero, a expressão avalia-se para $true. Por exemplo: ('hi', '', 'there') | Where-Object Length

O exemplo anterior é funcionalmente equivalente a:

  • ('hi', '', 'there') | Where-Object Length -GT 0
  • ('hi', '', 'there') | Where-Object { $_.Length -gt 0 }

Para mais informações sobre como o PowerShell avalia os booleanos, consulte about_Booleans.

Exemplos

Exemplo 1: Ter serviços parados

Estes comandos recebem uma lista de todos os serviços que são interrompidos. A $_ variável automática representa cada objeto que é passado para o Where-Object cmdlet.

O primeiro comando usa o formato de bloco de script, o segundo comando usa o formato de declaração de comparação. Os comandos filtram os serviços da mesma forma e retornam a mesma saída. Só a sintaxe é diferente.

Get-Service | Where-Object { $_.Status -eq "Stopped" }
Get-Service | Where-Object Status -EQ "Stopped"

Exemplo 2: Obter processos com base no conjunto de trabalho

Estes comandos listam processos que têm um conjunto de trabalho superior a 250 megabytes (MB). Os comandos filtram os processos da mesma forma e devolvem a mesma saída. Só a sintaxe é diferente.

Get-Process | Where-Object { $_.WorkingSet -gt 250MB }
Get-Process | Where-Object WorkingSet -GT 250MB

Exemplo 3: Obter processos com base no nome do processo

Estes comandos recebem os processos que têm um valor de propriedade ProcessName que começa com a letra p. O -match operador e o parâmetro Match permitem usar correspondências de expressões regulares.

Os comandos filtram os processos da mesma forma e devolvem a mesma saída. Só a sintaxe é diferente.

Get-Process | Where-Object { $_.ProcessName -match "^p.*" }
Get-Process | Where-Object ProcessName -Match "^p.*"

Exemplo 4: Usar o formato de declaração de comparação

Este exemplo mostra como usar o novo formato de declaração de comparação do Where-Object cmdlet.

O primeiro comando utiliza o formato de instrução de comparação. Não usa nenhum pseudónimo e inclui o nome de todos os parâmetros.

O segundo comando é o uso mais natural do formato de comandos de comparação. O comando substitui o Where-Object nome do cmdlet pelo where alias e omite todos os nomes opcionais dos parâmetros.

Os comandos filtram os processos da mesma forma e devolvem a mesma saída. Só a sintaxe é diferente.

Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000

Exemplo 5: Obter comandos baseados nas propriedades

Este exemplo mostra como escrever comandos que retornam itens que são verdadeiros ou falsos ou que têm qualquer valor para uma propriedade especificada. Cada exemplo mostra tanto o formato de bloco de script como de instrução de comparação para o comando.

Os comandos filtram a sua entrada da mesma forma e devolvem a mesma saída. Só a sintaxe é diferente.

# Use Where-Object to get commands that have any value for the OutputType
# property of the command. This omits commands that do not have an OutputType
# property and those that have an OutputType property, but no property value.
Get-Command | Where-Object OutputType
Get-Command | Where-Object { $_.OutputType }
# Use Where-Object to get objects that are containers. This gets objects that
# have the **PSIsContainer** property with a value of $true and excludes all
# others.
Get-ChildItem | Where-Object PSIsContainer
Get-ChildItem | Where-Object { $_.PSIsContainer }
# Finally, use the -not operator (!) to get objects that are not containers.
# This gets objects that do have the **PSIsContainer** property and those
# that have a value of $false for the **PSIsContainer** property.
Get-ChildItem | Where-Object -Not PSIsContainer
Get-ChildItem | Where-Object { !$_.PSIsContainer }

Exemplo 6: Usar múltiplas condições

Get-Module -ListAvailable | Where-Object {
    ($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}

Este exemplo mostra como criar um Where-Object comando com múltiplas condições.

Este comando recebe módulos não essenciais que suportam a funcionalidade de Ajuda Atualizável. O comando utiliza o parâmetro ListAvailable do Get-Module cmdlet para colocar todos os módulos no computador. Um operador de pipeline (|) envia os módulos para o Where-Object cmdlet, que obtém módulos cujos nomes não começam por Microsoft ou PS, e têm um valor para a propriedade HelpInfoURI , que indica ao PowerShell onde encontrar ficheiros de ajuda atualizados para o módulo. O -and operador lógico liga as instruções de comparação.

O exemplo utiliza o formato de comando scriptblock. Operadores lógicos, como -and,-or, e -not são válidos apenas em blocos de script. Não podes usá-los no formato de declaração de comparação de um Where-Object comando.

Parâmetros

-CContains

Indica que este cmdlet obtém objetos de uma coleção se o valor da propriedade do objeto for uma correspondência exata ao valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Por exemplo: Get-Process | Where-Object ProcessName -CContains "svchost"

CContains refere-se a uma coleção de valores e é verdadeiro se a coleção contiver um item que corresponde exatamente ao valor especificado. Se a entrada for um único objeto, o PowerShell converte-o numa coleção de um único objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveContainsSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CEQ

Indica que este cmdlet recebe objetos se o valor da propriedade for igual ao valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveEqualSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CGE

Indica que este cmdlet recebe objetos se o valor da propriedade for maior ou igual ao valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveGreaterOrEqualSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CGT

Indica que este cmdlet recebe objetos se o valor da propriedade for superior ao valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveGreaterThanSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CIn

Indica que este cmdlet recebe objetos se o valor da propriedade incluir o valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Por exemplo: Get-Process | Where-Object -Value "svchost" -CIn ProcessName

O CIn assemelha-se a CContains, exceto que as posições de propriedade e valor são invertidas. Por exemplo, as seguintes afirmações são ambas verdadeiras.

"abc", "def" -CContains "abc"

"abc" -CIn "abc", "def"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveInSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CLE

Indica que este cmdlet recebe objetos se o valor da propriedade for inferior ou igual ao valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveLessOrEqualSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CLike

Indica que este cmdlet recebe objetos se o valor da propriedade coincidir com um valor que inclua caracteres coringa (*). Esta operação é sensível a maiúsculas e minúsculas.

Por exemplo: Get-Process | Where-Object ProcessName -CLike "*host"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveLikeSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CLT

Indica que este cmdlet recebe objetos se o valor da propriedade for inferior ao valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveLessThanSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CMatch

Indica que este cmdlet recebe objetos se o valor da propriedade corresponder à expressão regular especificada. Esta operação é sensível a maiúsculas e minúsculas. Quando a entrada é um único objeto, o valor correspondente é guardado na $Matches variável automática.

Por exemplo: Get-Process | Where-Object ProcessName -CMatch "Shell"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveMatchSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CNE

Indica que este cmdlet recebe objetos se o valor da propriedade for diferente do valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveNotEqualSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CNotContains

Indica que este cmdlet obtém objetos se o valor da propriedade do objeto não for uma correspondência exata ao valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Por exemplo: Get-Process | Where-Object ProcessName -CNotContains "svchost"

NotContains e CNotContains referem-se a uma coleção de valores e são verdadeiros quando a coleção não contém itens que correspondam exatamente ao valor especificado. Se a entrada for um único objeto, o PowerShell converte-o numa coleção de um único objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveNotContainsSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CNotIn

Indica que este cmdlet recebe objetos se o valor da propriedade não for uma correspondência exata ao valor especificado. Esta operação é sensível a maiúsculas e minúsculas.

Por exemplo: Get-Process | Where-Object -Value "svchost" -CNotIn -Property ProcessName

Os operadores NotIn e CNotIn assemelham-se a NotContains e CNotContains, exceto que as posições de propriedade e valor são invertidas. Por exemplo, as seguintes afirmações são verdadeiras.

"abc", "def" -CNotContains "Abc"

"abc" -CNotIn "Abc", "def"

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveNotInSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CNotLike

Indica que este cmdlet recebe objetos se o valor da propriedade não corresponder a um valor que inclua caracteres coringa. Esta operação é sensível a maiúsculas e minúsculas.

Por exemplo: Get-Process | Where-Object ProcessName -CNotLike "*host"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveNotLikeSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CNotMatch

Indica que este cmdlet recebe objetos se o valor da propriedade não corresponder à expressão regular especificada. Esta operação é sensível a maiúsculas e minúsculas. Quando a entrada é um único objeto, o valor correspondente é guardado na $Matches variável automática.

Por exemplo: Get-Process | Where-Object ProcessName -CNotMatch "Shell"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CaseSensitiveNotMatchSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Contains

Indica que este cmdlet obtém objetos se qualquer item no valor da propriedade do objeto for uma correspondência exata ao valor especificado.

Por exemplo: Get-Process | Where-Object ProcessName -Contains "Svchost"

Se a entrada for um único objeto, o PowerShell converte-o numa coleção de um único objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:IContains

Conjuntos de parâmetros

ContainsSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-EQ

Indica que este cmdlet recebe objetos se o valor da propriedade for igual ao valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:IEQ

Conjuntos de parâmetros

EqualSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-FilterScript

Especifica o bloco de scripts que é usado para filtrar os objetos. Inclua o bloco de scripts entre colchetes ({}).

O nome do parâmetro, FilterScript, é opcional.

Propriedades dos parâmetros

Tipo:ScriptBlock
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ScriptBlockSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-GE

Indica que este cmdlet recebe objetos se o valor da propriedade for maior ou igual ao valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:IGE

Conjuntos de parâmetros

GreaterOrEqualSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-GT

Indica que este cmdlet recebe objetos se o valor da propriedade for superior ao valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:IGT

Conjuntos de parâmetros

GreaterThanSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-In

Indica que este cmdlet recebe objetos se o valor da propriedade coincidir com algum dos valores especificados. Por exemplo:

Get-Process | Where-Object -Property ProcessName -In -Value "Svchost", "TaskHost", "WsmProvHost"

Se a entrada for um único objeto, o PowerShell converte-o numa coleção de um único objeto.

Se o valor de propriedade de um objeto for um array, o PowerShell usa igualdade de referência para determinar uma correspondência. Where-Object retorna o objeto apenas se o valor do parâmetro Property e qualquer valor de Value forem a mesma instância de um objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:IIn

Conjuntos de parâmetros

InSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-InputObject

Especifica os objetos a filtrar. Também pode canalizar os objetos para Where-Object.

Quando se usa o parâmetro InputObject com Where-Object, em vez de pipear os resultados do comando para Where-Object, o cmdlet trata o InputObject como um único objeto. Isto é verdade mesmo que o valor seja uma coleção resultante de um comando, como -InputObject (Get-Process).

Como o InputObject não pode devolver propriedades individuais de um array ou coleção de objetos, recomendamos que, se usar Where-Object para filtrar uma coleção de objetos para aqueles que têm valores específicos em propriedades definidas, use Where-Object no pipeline, como mostrado nos exemplos deste tópico.

Propriedades dos parâmetros

Tipo:PSObject
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Is

Indica que este cmdlet recebe objetos se o valor da propriedade for uma instância do tipo .NET especificado. Inclua o nome do tipo entre parênteses quadrados.

Por exemplo, Get-Process | Where-Object StartTime -Is [datetime]

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

IsSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-IsNot

Indica que este cmdlet recebe objetos se o valor da propriedade não for uma instância do tipo .NET especificado.

Por exemplo, Get-Process | where StartTime -IsNot [datetime]

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

IsNotSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-LE

Indica que este cmdlet recebe objetos se o valor da propriedade for menor ou igual ao valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:ILE

Conjuntos de parâmetros

LessOrEqualSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Like

Indica que este cmdlet recebe objetos se o valor da propriedade coincidir com um valor que inclua caracteres coringa (*).

Por exemplo: Get-Process | Where-Object ProcessName -Like "*host"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:ILike

Conjuntos de parâmetros

LikeSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-LT

Indica que este cmdlet recebe objetos se o valor da propriedade for inferior ao valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:formação ILT

Conjuntos de parâmetros

LessThanSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Match

Indica que este cmdlet recebe objetos se o valor da propriedade corresponder à expressão regular especificada. Quando a entrada é um único objeto, o valor correspondente é guardado na $Matches variável automática.

Por exemplo: Get-Process | Where-Object ProcessName -Match "shell"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:IMatch

Conjuntos de parâmetros

MatchSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-NE

Indica que este cmdlet recebe objetos se o valor da propriedade for diferente do valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:INE

Conjuntos de parâmetros

NotEqualSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Not

Indica que este cmdlet obtém objetos se a propriedade não existir ou tiver valor de $null ou $false.

Por exemplo: Get-Service | Where-Object -Not "DependentServices"

Este parâmetro foi introduzido no Windows PowerShell 6.1.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

Not
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-NotContains

Indica que este cmdlet recebe objetos se nenhum dos itens no valor da propriedade for uma correspondência exata ao valor especificado.

Por exemplo: Get-Process | Where-Object ProcessName -NotContains "Svchost"

NotContains refere-se a uma coleção de valores e é verdadeiro se a coleção não contiver itens que correspondam exatamente ao valor especificado. Se a entrada for um único objeto, o PowerShell converte-o numa coleção de um único objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:INotContains

Conjuntos de parâmetros

NotContainsSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-NotIn

Indica que este cmdlet obtém objetos se o valor da propriedade não for uma correspondência exata para nenhum dos valores especificados.

Por exemplo: Get-Process | Where-Object -Value "svchost" -NotIn -Property ProcessName

Se o valor de Valor for um único objeto, o PowerShell converte-o numa coleção de um único objeto.

Se o valor de propriedade de um objeto for um array, o PowerShell usa igualdade de referência para determinar uma correspondência. Where-Object devolve o objeto apenas se o valor de Propriedade e qualquer valor de Valor não forem a mesma instância de um objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:INotIn

Conjuntos de parâmetros

NotInSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-NotLike

Indica que este cmdlet recebe objetos se o valor da propriedade não corresponder a um valor que inclua caracteres coringa (*).

Por exemplo: Get-Process | Where-Object ProcessName -NotLike "*host"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:INotLike

Conjuntos de parâmetros

NotLikeSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-NotMatch

Indica que este cmdlet recebe objetos quando o valor da propriedade não corresponde à expressão regular especificada. Quando a entrada é um único objeto, o valor correspondente é guardado na $Matches variável automática.

Por exemplo: Get-Process | Where-Object ProcessName -NotMatch "powershell"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:INotMatch

Conjuntos de parâmetros

NotMatchSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Property

Especifica o nome de uma propriedade do objeto de entrada. A propriedade deve ser uma propriedade de instância, não uma propriedade estática. Este é um parâmetro posicional, por isso o nome, Property, é opcional.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

EqualSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
LessOrEqualSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveEqualSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotEqualSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotEqualSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
GreaterThanSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveGreaterThanSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
LessThanSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveLessThanSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
GreaterOrEqualSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveGreaterOrEqualSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveLessOrEqualSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
LikeSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveLikeSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotLikeSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotLikeSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
MatchSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveMatchSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotMatchSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotMatchSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
ContainsSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveContainsSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotContainsSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotContainsSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
InSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveInSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotInSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotInSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
IsSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
IsNotSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
Not
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Value

Especifica o valor de uma propriedade. O nome do parâmetro, Value, é opcional. Este parâmetro aceita caracteres coringa quando usado com os seguintes parâmetros de comparação:

  • CLike
  • CNotLike
  • Gostar
  • NãoTipo

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades dos parâmetros

Tipo:PSObject
Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

EqualSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveGreaterOrEqualSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveEqualSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotEqualSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotEqualSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
GreaterThanSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveGreaterThanSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
LessThanSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveLessThanSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
GreaterOrEqualSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
LessOrEqualSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveLessOrEqualSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
LikeSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveLikeSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotLikeSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotLikeSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
MatchSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveMatchSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotMatchSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotMatchSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
ContainsSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveContainsSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotContainsSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotContainsSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
InSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveInSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
NotInSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CaseSensitiveNotInSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
IsSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
IsNotSet
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

PSObject

Podes canalizar qualquer objeto para este cmdlet.

Saídas

Object

Este cmdlet devolve os itens selecionados do conjunto de objetos de entrada.

Notas

O PowerShell inclui os seguintes aliases para Where-Object:

  • Todas as Plataformas:
    • ?
    • where

A partir do Windows, PowerShell 4.0, Where foram ForEach adicionados métodos para uso com coleções.

Pode ler mais sobre estes métodos aqui about_Arrays