Where-Object
Väljer objekt från en samling baserat på deras egenskapsvärden.
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>]
Description
Cmdleten Where-Object
väljer objekt som har specifika egenskapsvärden från samlingen av objekt som skickas till den. Du kan till exempel använda cmdleten Where-Object
för att välja filer som skapades efter ett visst datum, händelser med ett visst ID eller datorer som använder en viss version av Windows.
Från och med Windows PowerShell 3.0 finns det två olika sätt att konstruera ett Where-Object
kommando.
Skriptblock. Du kan använda ett skriptblock för att ange egenskapsnamnet, en jämförelseoperator och ett egenskapsvärde.
Where-Object
returnerar alla objekt som skriptblockssatsen är sann för.Följande kommando hämtar till exempel processer i prioritetsklassen
Normal
, det vill säga processer där värdet för egenskapen PriorityClass ärNormal
lika med .Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
Alla PowerShell-jämförelseoperatorer är giltiga i skriptblockformatet. Mer information finns i about_Comparison_Operators.
Jämförelseuttryck. Du kan också skriva en jämförelseöversikt, som är mycket mer likt naturligt språk. Jämförelseinstruktioner introducerades i Windows PowerShell 3.0.
Följande kommandon hämtar till exempel även processer som har prioritetsklassen
Normal
. Dessa kommandon är likvärdiga och du kan använda dem utbytbart.Get-Process | Where-Object -Property PriorityClass -EQ -Value "Normal"
Get-Process | Where-Object PriorityClass -EQ "Normal"
Från och med Windows PowerShell 3.0
Where-Object
lägger du till jämförelseoperatorer som parametrar i ettWhere-Object
kommando. Om inget anges är alla operatorer skiftlägeskänsliga. Före Windows PowerShell 3.0 var jämförelseoperatorerna på PowerShell-språket endast användbara i skriptblock.
När du anger en enskild egenskap till Where-Object
behandlar cmdleten egenskapens värde som ett booleskt uttryck. När värdet för egenskapens Längd inte är noll utvärderas uttrycket till $true
. Till exempel: ('hi', '', 'there') | Where-Object Length
Föregående exempel är funktionellt likvärdigt med:
('hi', '', 'there') | Where-Object Length -GT 0
('hi', '', 'there') | Where-Object { $_.Length -gt 0 }
Mer information om hur PowerShell utvärderar booleska värden finns i about_Booleans.
Exempel
Exempel 1: Hämta stoppade tjänster
Dessa kommandon får en lista över alla tjänster som har stoppats. Den $_
automatiska variabeln representerar varje objekt som skickas till cmdleten Where-Object
.
Det första kommandot använder skriptblockformatet. Det andra kommandot använder jämförelseuttrycksformatet. Kommandona filtrerar tjänsterna på samma sätt och returnerar samma utdata. Endast syntaxen är annorlunda.
Get-Service | Where-Object { $_.Status -eq "Stopped" }
Get-Service | Where-Object Status -EQ "Stopped"
Exempel 2: Hämta processer baserat på arbetsuppsättning
Dessa kommandon listar processer som har en arbetsuppsättning som är större än 250 mb (MB). Kommandona filtrerar processerna på samma sätt och returnerar samma utdata. Endast syntaxen är annorlunda.
Get-Process | Where-Object { $_.WorkingSet -GT 250MB }
Get-Process | Where-Object WorkingSet -GT 250MB
Exempel 3: Hämta processer baserat på processnamn
Dessa kommandon hämtar de processer som har ett ProcessName-egenskapsvärde som börjar med bokstaven p
. Med operatorn Match kan du använda reguljära uttrycksmatchningar.
Kommandona filtrerar processerna på samma sätt och returnerar samma utdata. Endast syntaxen är annorlunda.
Get-Process | Where-Object { $_.ProcessName -Match "^p.*" }
Get-Process | Where-Object ProcessName -Match "^p.*"
Exempel 4: Använd jämförelseuttrycksformatet
Det här exemplet visar hur du använder cmdletens Where-Object
nya jämförelseuttrycksformat.
Det första kommandot använder jämförelseuttrycksformatet. Den använder inga alias och innehåller namnet på varje parameter.
Det andra kommandot är den mer naturliga användningen av jämförelsekommandoformatet. Kommandot ersätter aliaset where
för cmdlet-namnet Where-Object
och utelämnar alla valfria parameternamn.
Kommandona filtrerar processerna på samma sätt och returnerar samma utdata. Endast syntaxen är annorlunda.
Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000
Exempel 5: Hämta kommandon baserat på egenskaper
Det här exemplet visar hur du skriver kommandon som returnerar objekt som är sanna eller falska eller har något värde för en angiven egenskap. Varje exempel visar både skriptblock- och jämförelseuttrycksformaten för kommandot.
Kommandona filtrerar sina indata på samma sätt och returnerar samma utdata. Endast syntaxen är annorlunda.
# 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 { !$_.PSIsContainer }
# You cannot use the -not operator (!) in the comparison statement format
# of the command.
Get-ChildItem | Where-Object PSIsContainer -eq $False
Exempel 6: Använd flera villkor
Get-Module -ListAvailable | Where-Object {
($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}
Det här exemplet visar hur du skapar ett Where-Object
kommando med flera villkor.
Det här kommandot hämtar moduler som inte är kärnmoduler som stöder funktionen Updatable Help. Kommandot använder parametern ListAvailable för cmdleten Get-Module
för att hämta alla moduler på datorn. En pipelineoperator (|
) skickar modulerna till cmdletenWhere-Object
, som hämtar moduler vars namn inte börjar med Microsoft
eller PS
och har ett värde för egenskapen HelpInfoURI, som talar om för PowerShell var du hittar uppdaterade hjälpfiler för modulen. Den -and
logiska operatorn ansluter jämförelseinstruktionerna.
I exemplet används skriptblockskommandoformatet. Logiska operatorer, till exempel -and
,-or
, och -not
är endast giltiga i skriptblock. Du kan inte använda dem i jämförelseuttrycksformatet för ett Where-Object
kommando.
- Mer information om logiska PowerShell-operatorer finns i about_Logical_Operators.
- Mer information om funktionen Updatable Help finns i about_Updatable_Help.
Parametrar
-CContains
Anger att den här cmdleten hämtar objekt från en samling om objektets egenskapsvärde är en exakt matchning för det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Till exempel: Get-Process | Where-Object ProcessName -CContains "svchost"
CContains refererar till en samling värden och är sant om samlingen innehåller ett objekt som är en exakt matchning för det angivna värdet. Om indata är ett enda objekt konverterar PowerShell det till en samling med ett objekt.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CEQ
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är detsamma som det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CGE
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är större än eller lika med det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CGT
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är större än det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CIn
Anger att den här cmdleten hämtar objekt om egenskapsvärdet innehåller det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Till exempel: Get-Process | Where-Object -Value "svchost" -CIn ProcessName
CIn liknar CContains, förutom att egenskaps- och värdepositionerna är omvända. Följande instruktioner är till exempel båda sanna.
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CLE
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är mindre än eller lika med det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CLike
Anger att den här cmdleten hämtar objekt om egenskapsvärdet matchar ett värde som innehåller jokertecken (*
). Den här åtgärden är skiftlägeskänslig.
Till exempel: Get-Process | Where-Object ProcessName -CLike "*host"
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CLT
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är mindre än det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CMatch
Anger att den här cmdleten hämtar objekt om egenskapsvärdet matchar det angivna reguljära uttrycket. Den här åtgärden är skiftlägeskänslig. När indata är ett enskilt objekt sparas det matchade värdet i den $Matches
automatiska variabeln.
Till exempel: Get-Process | Where-Object ProcessName -CMatch "Shell"
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CNE
Anger att den här cmdleten hämtar objekt om egenskapsvärdet skiljer sig från det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CNotContains
Anger att den här cmdleten hämtar objekt om egenskapsvärdet för objektet inte är en exakt matchning för det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Till exempel: Get-Process | Where-Object ProcessName -CNotContains "svchost"
NotContains och CNotContains refererar till en samling värden och är sanna när samlingen inte innehåller några objekt som är en exakt matchning för det angivna värdet. Om indata är ett enda objekt konverterar PowerShell det till en samling med ett objekt.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CNotIn
Anger att den här cmdleten hämtar objekt om egenskapsvärdet inte är en exakt matchning för det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Till exempel: Get-Process | Where-Object -Value "svchost" -CNotIn -Property ProcessName
Operatorerna NotIn och CNotIn liknar NotContains och CNotContains, förutom att egenskaps- och värdepositionerna är omvända. Följande instruktioner är till exempel sanna.
"abc", "def" -CNotContains "Abc"
"abc" -CNotIn "Abc", "def"
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CNotLike
Anger att den här cmdleten hämtar objekt om egenskapsvärdet inte matchar ett värde som innehåller jokertecken. Den här åtgärden är skiftlägeskänslig.
Till exempel: Get-Process | Where-Object ProcessName -CNotLike "*host"
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CNotMatch
Anger att den här cmdleten hämtar objekt om egenskapsvärdet inte matchar det angivna reguljära uttrycket. Den här åtgärden är skiftlägeskänslig. När indata är ett enskilt objekt sparas det matchade värdet i den $Matches
automatiska variabeln.
Till exempel: Get-Process | Where-Object ProcessName -CNotMatch "Shell"
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Contains
Anger att den här cmdleten hämtar objekt om ett objekt i objektets egenskapsvärde är en exakt matchning för det angivna värdet.
Till exempel: Get-Process | Where-Object ProcessName -Contains "Svchost"
Om indata är ett enda objekt konverterar PowerShell det till en samling med ett objekt.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | IContains |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-EQ
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är detsamma som det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | IEQ |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-FilterScript
Anger det skriptblock som används för att filtrera objekten. Omslut skriptblocket i klammerparenteser ({}
).
Parameternamnet FilterScript är valfritt.
Typ: | ScriptBlock |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-GE
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är större än eller lika med det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | IGE |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-GT
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är större än det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | IGT |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-In
Anger att den här cmdleten hämtar objekt om egenskapsvärdet matchar något av de angivna värdena. Till exempel:
Get-Process | Where-Object -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
Om indata är ett enda objekt konverterar PowerShell det till en samling med ett objekt.
Om egenskapsvärdet för ett objekt är en matris använder PowerShell referensjämlikhet för att fastställa en matchning. Where-Object
returnerar endast objektet om värdet för egenskapsparametern och värde för Värde är samma instans av ett objekt.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | IIn |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-InputObject
Anger vilka objekt som ska filtreras. Du kan också skicka objekten till Where-Object
.
När du använder parametern InputObject med Where-Object
, i stället för att skicka kommandoresultat till Where-Object
, behandlar cmdleten InputObject som ett enda objekt. Detta gäller även om värdet är en samling som är resultatet av ett kommando, till exempel -InputObject (Get-Process)
.
Eftersom InputObject inte kan returnera enskilda egenskaper från en matris eller en samling objekt rekommenderar vi att om du använder Where-Object
för att filtrera en samling objekt för de objekt som har specifika värden i definierade egenskaper använder Where-Object
du i pipelinen, som du ser i exemplen i det här avsnittet.
Typ: | PSObject |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Is
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är en instans av den angivna .NET-typen. Omslut typnamnet inom hakparenteser.
Till exempel: Get-Process | Where-Object StartTime -Is [DateTime]
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-IsNot
Anger att den här cmdleten hämtar objekt om egenskapsvärdet inte är en instans av den angivna .NET-typen.
Till exempel: Get-Process | where StartTime -IsNot [DateTime]
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-LE
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är mindre än eller lika med det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | ILE |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Like
Anger att den här cmdleten hämtar objekt om egenskapsvärdet matchar ett värde som innehåller jokertecken (*
).
Till exempel: Get-Process | Where-Object ProcessName -Like "*host"
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | ILike |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-LT
Anger att den här cmdleten hämtar objekt om egenskapsvärdet är mindre än det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | ILT |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Match
Anger att den här cmdleten hämtar objekt om egenskapsvärdet matchar det angivna reguljära uttrycket. När indata är ett enskilt objekt sparas det matchade värdet i den $Matches
automatiska variabeln.
Till exempel: Get-Process | Where-Object ProcessName -Match "shell"
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | IMatch |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-NE
Anger att den här cmdleten hämtar objekt om egenskapsvärdet skiljer sig från det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | INE |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-NotContains
Anger att denna cmdlet hämtar objekt om inget av objekten i egenskapsvärdet är en exakt matchning för det angivna värdet.
Till exempel: Get-Process | Where-Object ProcessName -NotContains "Svchost"
NotContains refererar till en samling värden och är sant om samlingen inte innehåller några objekt som är en exakt matchning för det angivna värdet. Om indata är ett enda objekt konverterar PowerShell det till en samling med ett objekt.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | INotContains |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-NotIn
Anger att den här cmdleten hämtar objekt om egenskapsvärdet inte är en exakt matchning för något av de angivna värdena.
Till exempel: Get-Process | Where-Object -Value "svchost" -NotIn -Property ProcessName
Om värdet för Värde är ett enskilt objekt konverterar PowerShell det till en samling med ett objekt.
Om egenskapsvärdet för ett objekt är en matris använder PowerShell referensjämlikhet för att fastställa en matchning. Where-Object
returnerar endast objektet om värdet för Egenskapen och värdet värde inte är samma instans av ett objekt.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | INotIn |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-NotLike
Anger att den här cmdleten hämtar objekt om egenskapsvärdet inte matchar ett värde som innehåller jokertecken (*
).
Till exempel: Get-Process | Where-Object ProcessName -NotLike "*host"
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | INotLike |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-NotMatch
Anger att den här cmdleten hämtar objekt när egenskapsvärdet inte matchar det angivna reguljära uttrycket. När indata är ett enskilt objekt sparas det matchade värdet i den $Matches
automatiska variabeln.
Till exempel: Get-Process | Where-Object ProcessName -NotMatch "PowerShell"
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Alias: | INotMatch |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Property
Anger namnet på en egenskap för indataobjektet. Egenskapen måste vara en instansegenskap, inte en statisk egenskap. Det här är en positionsparameter, så namnet, Egenskap, är valfritt.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | String |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Value
Anger ett egenskapsvärde. Parameternamnet Värde är valfritt. Den här parametern accepterar jokertecken när den används med följande jämförelseparametrar:
- CLike
- CNotLike
- Tycka om
- NotLike
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | PSObject |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
Indata
Du kan skicka valfritt objekt till den här cmdleten.
Utdata
Den här cmdleten returnerar de markerade objekten från indataobjektuppsättningen.
Kommentarer
Windows PowerShell innehåller följande alias för Where-Object
:
?
where
Från och med Windows PowerShell 4.0 Where
har ForEach
metoder lagts till för användning med samlingar.
Du kan läsa mer om dessa metoder här about_arrays