Compartilhar via


Where-Object

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

Sintaxe

Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-EQ]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-FilterScript] <ScriptBlock>
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-LE]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CGE]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CLE]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CIn]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-GE]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CLike]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-NotLike]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CNotLike]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-Match]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CMatch]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-NotMatch]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CNotMatch]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-Contains]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CContains]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-NotContains]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CNotContains]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-In]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-Like]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-NotIn]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CNotIn]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-Is]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-IsNot]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CEQ]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-NE]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CNE]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-GT]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CGT]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-LT]
     [<CommonParameters>]
Where-Object
     [-InputObject <PSObject>]
     [-Property] <String>
     [[-Value] <Object>]
     [-CLT]
     [<CommonParameters>]

Description

O cmdlet Where-Object 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 cmdlet Where-Object 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 comando Where-Object.

  • do bloco 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 na classe de prioridade Normal, ou seja, processos em que o valor da propriedade PriorityClass é igual a Normal.

    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 sobre operadores de comparação, consulte about_Comparison_Operators.

  • instrução Comparison. Você também pode escrever uma instrução de comparação, que é muito mais parecida com a linguagem natural. Instruções de comparação foram introduzidas no Windows PowerShell 3.0.

    Por exemplo, os comandos a seguir também obtêm processos que têm uma classe de prioridade normal. Esses comandos são equivalentes e podem ser usados de forma intercambiável.

    Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"

    Get-Process | Where-Object PriorityClass -eq "Normal"

    A partir do Windows PowerShell 3.0, Where-Object adiciona operadores de comparação como parâmetros em um comando Where-Object. A menos que especificado, todos os operadores não diferenciam maiúsculas de minúsculas. Antes do Windows PowerShell 3.0, os operadores de comparação no idioma do PowerShell só podiam ser usados em blocos de script.

Exemplos

Exemplo 1: Obter serviços interrompidos

Esses comandos obtêm uma lista de todos os serviços que estão parados no momento.

A variável $_ automática representa cada objeto passado para o cmdlet Where-Object.

O primeiro comando usa o formato de bloco de script, o segundo comando usa o formato de instrução de comparação.

Os comandos são equivalentes e podem ser usados de forma intercambiável.

Get-Service | Where-Object {$_.Status -eq "Stopped"}
Get-Service | where 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 25.000 quilobytes (KB). Como o valor da propriedade WorkingSet é armazenado em bytes, o valor de 25.000 é multiplicado por 1.024.

O scriptblock e a sintaxe de instrução são equivalentes e podem ser usados de forma intercambiável.

Get-Process | Where-Object {$_.WorkingSet -GT 25000*1024}
Get-Process | Where-Object WorkingSet -GT (25000*1024)

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 operador Match permite que você use correspondências de expressão regulares.

O scriptblock e a sintaxe de instrução são equivalentes e podem ser usados de forma intercambiável.

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 cmdlet Where-Object.

O primeiro comando usa o formato de instrução de comparação. Nesse comando, nenhum aliases é usado e todos os parâmetros incluem o nome do parâmetro.

O segundo comando é o uso mais natural do formato de comando de comparação. A em que alias é substituído pelo nome do cmdlet Where-Object e todos os nomes de parâmetro opcionais são omitidos.

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.

# 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 OutputType
Get-Command | where {$_.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 PSIsContainer
Get-ChildItem | where {$_.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 {!$_.PSIsContainer}
# You cannot use the Not operator (!) in the comparison statement format of the command.
Get-ChildItem | where PSIsContainer -eq $False

Exemplo 6: Usar várias condições

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

Este exemplo mostra como criar um comando Where-Object 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 cmdlet Get-Module para obter todos os módulos no computador. Um operador de pipeline (|) envia os módulos para o cmdlet Where-Object, que obtém módulos cujos nomes não começam com a Microsoft ou PS e têm um valor para a propriedade HelpInfoURI, que informa ao PowerShell onde encontrar arquivos de ajuda atualizados para o módulo. As instruções de comparação são conectadas pelo operador lógico e.

O exemplo usa o formato de comando de bloco de script. Operadores lógicos, como e e ou, 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 comando Where-Object.

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 ProcessName -CContains "svchost"

CContains se refere a uma coleção de valores e é verdadeira 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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 -Value "svchost" -CIn ProcessName

CIn se assemelha a CContains, exceto 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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 ProcessName -CLike "*host"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 é escalar, o valor correspondente é salvo em $Matches variável automática.

Por exemplo: Get-Process | where ProcessName -CMatch "Shell"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 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.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 -Value "svchost" -CNotIn -Property ProcessName

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"

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 ProcessName -CNotLike "*host"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 é escalar, o valor correspondente é salvo em $Matches variável automática.

Por exemplo: Get-Process | where ProcessName -CNotMatch "Shell"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 ProcessName -Contains "Svchost"

Se o valor da propriedade contiver um único objeto, o PowerShell o converterá em uma coleção de um objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Aliases:IContains
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Aliases:IEQ
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:ScriptBlock
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Aliases:IGE
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Aliases:IGT
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"

Se o valor do parâmetro 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 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.

Tipo:SwitchParameter
Aliases:IIn
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 , em vez de canalizar resultados de comando para , o valor InputObject é tratado 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, use Where-Object no pipeline, conforme mostrado nos exemplos deste tópico.

Tipo:PSObject
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Is

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

Por exemplo, Get-Process | where StartTime -Is [DateTime]

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-IsNot

Indica que esse cmdlet obtém objetos se o valor da propriedade não for uma instância do tipo .NET Framework especificado.

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Aliases:ILE
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 ProcessName -Like "*host"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Aliases:ILike
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Aliases:ILT
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Match

Indica que esse cmdlet obtém objetos se o valor da propriedade corresponder à expressão regular especificada. Quando a entrada é escalar, o valor correspondente é salvo em $Matches variável automática.

Por exemplo: Get-Process | where ProcessName -Match "shell"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Aliases:IMatch
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:SwitchParameter
Aliases:INE
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 ProcessName -NotContains "Svchost"

NotContains se refere a uma coleção de valores e é 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.

Tipo:SwitchParameter
Aliases:INotContains
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 -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 da Propriedade e qualquer valor de Value não forem a mesma instância de um objeto.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Aliases:INotIn
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 ProcessName -NotLike "*host"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Aliases:INotLike
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-NotMatch

Indica que esse cmdlet obtém objetos quando o valor da propriedade não corresponde à expressão regular especificada. Quando a entrada é escalar, o valor correspondente é salvo em $Matches variável automática.

Por exemplo: Get-Process | where ProcessName -NotMatch "PowerShell"

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Aliases:INotMatch
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Property

Especifica o nome de uma propriedade de objeto.

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

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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
  • como
  • NotLike

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:Object
Cargo:1
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:True

Entradas

PSObject

Você pode canalizar os objetos para este cmdlet.

Saídas

Object

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

Observações

  • A partir do Windows PowerShell 4.0, métodos Where e ForEach foram adicionados para uso com coleções.
    • Você pode ler mais sobre esses novos métodos aqui about_arrays