Compartilhar via


Where-Object

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

Sintaxe

EqualSet (Padrã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 são passados para ele. Por exemplo, você pode usar o Where-Object cmdlet para selecionar arquivos que foram criados após uma determinada data, eventos com uma ID específica ou computadores que usam uma versão específica do Windows.

A partir do Windows PowerShell 3.0, há duas maneiras diferentes de construir um Where-Object comando.

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

    Por exemplo, o comando a seguir obtém processos em que o valor da propriedade PriorityClass é Normaligual a .

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

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

  • Sintaxe simplificada. Para habilitar a sintaxe simiplificada, Where-Object inclui 31 parâmetros de comutador que representam os operadores de comparação. A sintaxe simplificada é mais fácil de ler e gravar do que a sintaxe do bloco de script. Você pode combinar um dos parâmetros de comutador com os parâmetros Propriedade e Valor para criar um comando que filtra objetos com base nos valores de suas propriedades.

    Por exemplo, os comandos a seguir também obtêm processos que têm uma classe de prioridade de Normal. Esses comandos são equivalentes e você pode usá-los de forma intercambiável.

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

    Get-Process | Where-Object PriorityClass -EQ Normal

    Conforme mostrado no exemplo, os nomes de parâmetro Propriedade e Valor são opcionais. O parâmetro Property é um parâmetro posicional mapeado para a posição 0. O parâmetro Value é um parâmetro posicional mapeado para a posição 1. O parâmetro switch, usado para especificar a comparação, pode ser usado em qualquer posição.

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

Quando você fornece uma única Propriedade para Where-Object, o cmdlet trata o valor da propriedade como uma expressão booliana. Quando o valor do comprimento da propriedade não é zero, a expressão é avaliada como $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 obter mais informações sobre como o PowerShell avalia boolianos, consulte about_Booleans.

Exemplos

Exemplo 1: Obter serviços interrompidos

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

O primeiro comando usa o formato de bloco de script, o segundo comando usa o formato de instrução de comparação. Os comandos filtram os serviços da mesma maneira e retornam a mesma saída. Somente 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

Esses comandos listam processos que têm um conjunto de trabalho maior que 250 megabytes (MB). Os comandos filtram os processos da mesma maneira e retornam a mesma saída. Somente 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

Esses comandos obtêm 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 que você use correspondências de expressão regulares.

Os comandos filtram os processos da mesma maneira e retornam a mesma saída. Somente a sintaxe é diferente.

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

Exemplo 4: Usar o formato da instrução de comparação

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

O primeiro comando usa o formato de instrução de comparação. Ele não usa aliases e inclui o nome para cada parâmetro.

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

Os comandos filtram os processos da mesma maneira e retornam a mesma saída. Somente a sintaxe é diferente.

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

Exemplo 5: Obter comandos com base nas propriedades

Este exemplo mostra como gravar comandos que retornam itens verdadeiros ou falsos ou que têm qualquer valor para uma propriedade especificada. Cada exemplo mostra os formatos de bloco de script e de instrução de comparação para o comando.

Os comandos filtram sua entrada da mesma maneira e retornam a mesma saída. Somente 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 várias 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 várias condições.

Esse comando obtém módulos não essenciais que dão suporte ao recurso ajuda atualizável. O comando usa o parâmetro ListAvailable do Get-Module cmdlet para obter 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 Microsoft ou PStêm um valor para a propriedade HelpInfoURI , que informa ao PowerShell onde encontrar arquivos de ajuda atualizados para o módulo. O -and operador lógico conecta as instruções de comparação.

O exemplo usa o formato de comando de bloco de script. Operadores lógicos, como -and,-or, e -not são válidos apenas em blocos de script. Você não pode usá-los no formato de instrução de comparação de um Where-Object comando.

Parâmetros

-CContains

Indica que esse cmdlet obtém objetos de uma coleção se o valor da propriedade do objeto for uma correspondência exata para o valor especificado. Essa operação diferencia maiúsculas de minúsculas.

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

CContains refere-se a uma coleção de valores e é true se a coleção contiver um item que seja uma correspondência exata para o valor especificado. Se a entrada for um único objeto, o PowerShell o converterá em uma coleção de um objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveContainsSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CEQ

Indica que esse cmdlet obtém objetos se o valor da propriedade for o mesmo que o valor especificado. Essa operação diferencia maiúsculas de minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveEqualSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CGE

Indica que esse cmdlet obtém objetos se o valor da propriedade for maior ou igual ao valor especificado. Essa operação diferencia maiúsculas de minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveGreaterOrEqualSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CGT

Indica que esse cmdlet obtém objetos se o valor da propriedade for maior que o valor especificado. Essa operação diferencia maiúsculas de minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveGreaterThanSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CIn

Indica que esse cmdlet obtém objetos se o valor da propriedade incluir o valor especificado. Essa operação diferencia maiúsculas de minúsculas.

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

O CIn é semelhante a CContains, exceto pelo fato de que as posições de propriedade e valor são invertidas. Por exemplo, as instruções a seguir são verdadeiras.

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

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveInSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CLE

Indica que esse cmdlet obtém objetos se o valor da propriedade for menor ou igual ao valor especificado. Essa operação diferencia maiúsculas de minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveLessOrEqualSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CLike

Indica que esse cmdlet obtém objetos se o valor da propriedade corresponder a um valor que inclui caracteres curinga (*). Essa operação diferencia maiúsculas de minúsculas.

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveLikeSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CLT

Indica que esse cmdlet obtém objetos se o valor da propriedade for menor que o valor especificado. Essa operação diferencia maiúsculas de minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveLessThanSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CMatch

Indica que esse cmdlet obtém objetos se o valor da propriedade corresponder à expressão regular especificada. Essa operação diferencia maiúsculas de minúsculas. Quando a entrada é um único objeto, o valor correspondente é salvo 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 do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveMatchSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CNE

Indica que esse cmdlet obtém objetos se o valor da propriedade for diferente do valor especificado. Essa operação diferencia maiúsculas de minúsculas.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveNotEqualSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CNotContains

Indica que esse cmdlet obtém objetos se o valor da propriedade do objeto não for uma correspondência exata para o valor especificado. Essa operação diferencia maiúsculas de 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 nenhum item que seja uma correspondência exata para o valor especificado. Se a entrada for um único objeto, o PowerShell o converterá em uma coleção de um objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveNotContainsSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CNotIn

Indica que esse cmdlet obtém objetos se o valor da propriedade não for uma correspondência exata para o valor especificado. Essa operação diferencia maiúsculas de minúsculas.

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

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

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

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveNotInSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CNotLike

Indica que esse cmdlet obtém objetos se o valor da propriedade não corresponder a um valor que inclui caracteres curinga. Essa operação diferencia maiúsculas de minúsculas.

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveNotLikeSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CNotMatch

Indica que esse cmdlet obtém objetos se o valor da propriedade não corresponder à expressão regular especificada. Essa operação diferencia maiúsculas de minúsculas. Quando a entrada é um único objeto, o valor correspondente é salvo 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 do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CaseSensitiveNotMatchSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Contains

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

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

Se a entrada for um único objeto, o PowerShell o converterá em uma coleção de um objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:IContains

Conjuntos de parâmetros

ContainsSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-EQ

Indica que esse cmdlet obtém objetos se o valor da propriedade for o mesmo que o valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:IEQ

Conjuntos de parâmetros

EqualSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-FilterScript

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

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

Propriedades do parâmetro

Tipo:ScriptBlock
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ScriptBlockSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-GE

Indica que esse cmdlet obtém objetos se o valor da propriedade for maior ou igual ao valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:IGE

Conjuntos de parâmetros

GreaterOrEqualSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-GT

Indica que esse cmdlet obtém objetos se o valor da propriedade for maior que o valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:IGT

Conjuntos de parâmetros

GreaterThanSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-In

Indica que esse cmdlet obtém objetos se o valor da propriedade corresponder a qualquer um 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 o converterá em uma coleção de um objeto.

Se o valor da propriedade de um objeto for uma matriz, o PowerShell usará a igualdade de referência para determinar uma correspondência. Where-Object retornará o objeto somente se o valor do parâmetro Property e qualquer valor de Valor forem a mesma instância de um objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:Iin

Conjuntos de parâmetros

InSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-InputObject

Especifica os objetos a serem filtrados. Você também pode canalizar os objetos para Where-Object.

Quando você usa o parâmetro InputObject com Where-Object, em vez de canalizar resultados de comando para Where-Object, o cmdlet trata o InputObject como um único objeto. Isso é verdadeiro mesmo se o valor for uma coleção que é o resultado de um comando, como -InputObject (Get-Process).

Como InputObject não pode retornar propriedades individuais de uma matriz ou coleção de objetos, recomendamos que, se você usar Where-Object para filtrar uma coleção de objetos para os objetos que têm valores específicos em propriedades definidas, você usará Where-Object no pipeline, conforme mostrado nos exemplos deste tópico.

Propriedades do parâmetro

Tipo:PSObject
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Is

Indica que esse cmdlet obtém objetos se o valor da propriedade for uma instância do tipo .NET especificado. Coloque o nome do tipo entre colchetes.

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

IsSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-IsNot

Indica que esse cmdlet obtém 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 do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

IsNotSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-LE

Indica que esse cmdlet obtém objetos se o valor da propriedade for menor ou igual ao valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:ILE

Conjuntos de parâmetros

LessOrEqualSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Like

Indica que esse cmdlet obtém objetos se o valor da propriedade corresponder a um valor que inclui caracteres curinga (*).

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:ILike

Conjuntos de parâmetros

LikeSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-LT

Indica que esse cmdlet obtém objetos se o valor da propriedade for menor que o valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:ILT

Conjuntos de parâmetros

LessThanSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Match

Indica que esse cmdlet obtém objetos se o valor da propriedade corresponder à expressão regular especificada. Quando a entrada é um único objeto, o valor correspondente é salvo 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 do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:IMatch

Conjuntos de parâmetros

MatchSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-NE

Indica que esse cmdlet obtém objetos se o valor da propriedade for diferente do valor especificado.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:INE

Conjuntos de parâmetros

NotEqualSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Not

Indica que esse cmdlet obtém objetos se a propriedade não existe ou tem um valor de $null ou $false.

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

Esse parâmetro foi introduzido no Windows PowerShell 6.1.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

Not
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-NotContains

Indica que esse cmdlet obtém objetos se nenhum dos itens no valor da propriedade for uma correspondência exata para o valor especificado.

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

NotContains refere-se a uma coleção de valores e será true se a coleção não contiver itens que sejam uma correspondência exata para o valor especificado. Se a entrada for um único objeto, o PowerShell o converterá em uma coleção de um objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:INotContains

Conjuntos de parâmetros

NotContainsSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-NotIn

Indica que esse 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 Value for um único objeto, o PowerShell o converterá em uma coleção de um objeto.

Se o valor da propriedade de um objeto for uma matriz, o PowerShell usará a igualdade de referência para determinar uma correspondência. Where-Object retornará o objeto somente 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 do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:INotIn

Conjuntos de parâmetros

NotInSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-NotLike

Indica que esse cmdlet obtém objetos se o valor da propriedade não corresponder a um valor que inclui caracteres curinga (*).

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:INotLike

Conjuntos de parâmetros

NotLikeSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-NotMatch

Indica que esse cmdlet obtém objetos quando o valor da propriedade não corresponde à expressão regular especificada. Quando a entrada é um único objeto, o valor correspondente é salvo 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 do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:INotMatch

Conjuntos de parâmetros

NotMatchSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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. Esse é um parâmetro posicional, portanto, o nome , Propriedade, é opcional.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

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

-Value

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

  • CLike
  • CNotLike
  • Gostar
  • NotLike

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:PSObject
Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

EqualSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveGreaterOrEqualSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveEqualSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
NotEqualSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveNotEqualSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
GreaterThanSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveGreaterThanSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
LessThanSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveLessThanSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
GreaterOrEqualSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
LessOrEqualSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveLessOrEqualSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
LikeSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveLikeSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
NotLikeSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveNotLikeSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
MatchSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveMatchSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
NotMatchSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveNotMatchSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
ContainsSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveContainsSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
NotContainsSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveNotContainsSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
InSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveInSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
NotInSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CaseSensitiveNotInSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
IsSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
IsNotSet
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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

Você pode redirecionar qualquer objeto para este cmdlet.

Saídas

Object

Esse cmdlet retorna os itens selecionados do conjunto de objetos de entrada.

Observações

O PowerShell inclui os seguintes aliases para Where-Object:

  • Todas as Plataformas:
    • ?
    • where

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

Você pode ler mais sobre esses métodos aqui about_Arrays