Where-Object
Seleciona objetos de uma coleção com base em seus valores de propriedade.
Syntax
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>]
-Match
[<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>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-GE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CGE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-LE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Like
[<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>]
-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>]
-CIn
[<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>
-Not
[<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.
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 na
Normal
classe de prioridade, ou seja, processos em que o valor da propriedade PriorityClass éNormal
igual 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 about_Comparison_Operators.
Instrução de comparação. Você também pode escrever uma instrução de comparação, que é muito mais como uma 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 de
Normal
. Esses comandos são equivalentes e podem ser usados de maneira intercambiável.Get-Process | Where-Object -Property PriorityClass -EQ -Value "Normal"
Get-Process | Where-Object PriorityClass -EQ "Normal"
Começando no Windows PowerShell 3.0,
Where-Object
adiciona operadores de comparação como parâmetros em umWhere-Object
comando. A menos que especificado, todos os operadores diferenciam maiúsculas de minúsculas. Antes Windows PowerShell 3.0, os operadores de comparação na linguagem do PowerShell só eram utilizáveis em blocos de script.
Quando você fornece uma única Propriedade para Where-Object
, o cmdlet trata o valor da propriedade como uma expressão booliana. Quando o valor de Length 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 operador Match permite 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 nenhum 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 que são verdadeiros ou falsos, ou que tenham qualquer valor de 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 a 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 suportam o recurso de 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 com 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. 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 somente em blocos de script. Você não pode usá-los no formato de instrução de comparação de um Where-Object
comando.
- Para obter mais informações sobre operadores lógicos do PowerShell, consulte about_Logical_Operators.
- Para obter mais informações sobre o recurso Ajuda Atualizável, consulte about_Updatable_Help.
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 é verdadeiro 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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
CIn se assemelha a CContains, exceto que as posições de propriedade e valor são invertidas. Por exemplo, as seguintes instruções são ambas verdadeiras.
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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"
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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"
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 seguintes instruções são verdadeiras.
"abc", "def" -CNotContains "Abc"
"abc" -CNotIn "Abc", "def"
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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"
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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"
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EQ
Indica que esse cmdlet obtém objetos se o valor da propriedade for o mesmo que o valor especificado.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IEQ |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterScript
Especifica o bloco de script usado para filtrar os objetos. Coloque o bloco de script entre chaves ({}
).
O nome do parâmetro, FilterScript, é opcional.
Type: | ScriptBlock |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GE
Indica que esse cmdlet obtém objetos se o valor da propriedade for maior ou igual ao valor especificado.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IGE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GT
Indica que esse cmdlet obtém objetos se o valor da propriedade for maior que o valor especificado.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IGT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Value forem a mesma instância de um objeto.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica os objetos a serem filtrados. Você também pode redirecionar os objetos para Where-Object
.
Quando você usa o parâmetro InputObject com Where-Object
, em vez de canalizar os resultados do 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, use Where-Object
no pipeline, conforme mostrado nos exemplos neste tópico.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Is
Indica que esse cmdlet obtém objetos se o valor da propriedade for uma instância do tipo .NET especificado. Inclua o nome do tipo entre colchetes.
Por exemplo, Get-Process | Where-Object StartTime -Is [DateTime]
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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]
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LE
Indica que esse cmdlet obtém objetos se o valor da propriedade for menor ou igual ao valor especificado.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | ILE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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"
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | ILike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LT
Indica que esse cmdlet obtém objetos se o valor da propriedade for menor que o valor especificado.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | ILT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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"
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NE
Indica que esse cmdlet obtém objetos se o valor da propriedade for diferente do valor especificado.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Not
Indica que esse cmdlet obtém objetos se a propriedade não existir ou tiver um valor de $null
ou $false
.
Por exemplo: Get-Service | Where-Object -Not "DependentServices"
Esse parâmetro foi introduzido no Windows PowerShell 6.1.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 é 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Property e qualquer valor de Value não forem a mesma instância de um objeto.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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"
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotLike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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"
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | PSObject |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Entradas
Você pode redirecionar qualquer objeto para este cmdlet.
Saídas
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 métodos e ForEach
foram adicionados para uso com coleções.
Você pode ler mais sobre esses métodos aqui about_arrays