Where-Object
Markerar 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>]
[-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
Cmdleten Where-Object
väljer objekt som har specifika egenskapsvärden från samlingen med 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 skapa 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 är lika med Normal.
Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
Alla PowerShell-jämförelseoperatorer är giltiga i skriptblocksformatet. Mer information om jämförelseoperatorer finns i about_Comparison_Operators.
Jämförelseuttryck. Du kan också skriva en jämförelse-instruktion, vilket är mycket mer som 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 kan användas synonymt.
Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"
Get-Process | Where-Object PriorityClass -eq "Normal"
Från och med Windows PowerShell 3.0 lägger Where-Object till jämförelseoperatorer som parametrar i ett Where-Object-kommando. Om inget anges är alla operatorer skiftlägesokänsliga. Före Windows PowerShell 3.0 kunde jämförelseoperatorerna i PowerShell-språket endast användas i skriptblock.
Exempel
Exempel 1: Hämta stoppade tjänster
De här kommandona hämtar en lista över alla tjänster som har stoppats för närvarande.
Den $_
automatiska variabeln representerar varje objekt som skickas till cmdleten Where-Object
.
Det första kommandot använder skriptblocksformatet. Det andra kommandot använder jämförelseuttrycksformatet.
Kommandona är likvärdiga och kan användas synonymt.
Get-Service | Where-Object {$_.Status -eq "Stopped"}
Get-Service | where Status -eq "Stopped"
Exempel 2: Hämta processer baserat på arbetsuppsättning
Dessa kommandon visar processer som har en arbetsuppsättning som är större än 25 000 kB. Eftersom värdet för egenskapen WorkingSet lagras i byte multipliceras värdet 25 000 med 1 024.
Scriptblock och instruktionssyntaxen är likvärdiga och kan användas synonymt.
Get-Process | Where-Object {$_.WorkingSet -GT 25000*1024}
Get-Process | Where-Object WorkingSet -GT (25000*1024)
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 matchningar för reguljära uttryck.
Scriptblock och instruktionssyntaxen är likvärdiga och kan användas synonymt.
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. I det här kommandot används inga alias och alla parametrar innehåller parameternamnet.
Det andra kommandot är den mer naturliga användningen av jämförelsekommandoformatet.
Där alias ersätts med cmdlet-namnet Where-Object
och alla valfria parameternamn utelämnas.
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 skriptblocket och jämförelseuttrycksformaten för kommandot.
# 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
Exempel 6: Använd flera villkor
Get-Module -ListAvailable | where {($_.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 icke-kärnmoduler som stöder funktionen Uppdateringsbar hjälp.
Kommandot använder parametern ListAvailable för cmdleten Get-Module
för att hämta alla moduler på datorn.
En pipelineoperator (|) skickar modulerna till cmdleten Where-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.
Jämförelseinstruktionerna är anslutna med den logiska operatorn And .
I exemplet används skriptblockets kommandoformat.
Logiska operatorer, till exempel And och Or, ä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 Uppdateringsbar hjälp finns i about_Updatable_Help.
Parametrar
-CContains
Anger att denna cmdlet 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.
Exempelvis: Get-Process | where 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CEQ
Anger att denna cmdlet hämtar objekt om egenskapsvärdet är samma som det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGE
Anger att denna cmdlet 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGT
Anger att denna cmdlet 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CIn
Anger att denna cmdlet hämtar objekt om egenskapsvärdet innehåller det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Exempelvis: Get-Process | where -Value "svchost" -CIn ProcessName
CIn liknar CContains, förutom att egenskaps- och värdepositionerna är omvända. Följande påståenden är till exempel båda sanna.
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLE
Anger att denna cmdlet 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLike
Anger att denna cmdlet hämtar objekt om egenskapsvärdet matchar ett värde som innehåller jokertecken. Den här åtgärden är skiftlägeskänslig.
Exempelvis: Get-Process | where ProcessName -CLike "*host"
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLT
Anger att denna cmdlet 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CMatch
Anger att denna cmdlet 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 skalär sparas det matchade värdet i $Matches
den automatiska variabeln.
Exempelvis: Get-Process | where ProcessName -CMatch "Shell"
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNE
Anger att denna cmdlet 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotContains
Anger att denna cmdlet hämtar objekt om objektets egenskapsvärde inte är en exakt matchning för det angivna värdet. Den här åtgärden är skiftlägeskänslig.
Exempelvis: Get-Process | where 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotIn
Anger att denna cmdlet 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.
Exempelvis: Get-Process | where -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 påståenden är till exempel sanna.
"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
Anger att denna cmdlet hämtar objekt om egenskapsvärdet inte matchar ett värde som innehåller jokertecken. Den här åtgärden är skiftlägeskänslig.
Exempelvis: Get-Process | where ProcessName -CNotLike "*host"
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotMatch
Anger att denna cmdlet 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 skalär sparas det matchade värdet i $Matches
den automatiska variabeln.
Exempelvis: Get-Process | where ProcessName -CNotMatch "Shell"
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Contains
Anger att denna cmdlet hämtar objekt om något objekt i objektets egenskapsvärde är en exakt matchning för det angivna värdet.
Exempelvis: Get-Process | where ProcessName -Contains "Svchost"
Om egenskapsvärdet innehåller ett enda objekt konverterar PowerShell det till en samling med ett objekt.
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EQ
Anger att denna cmdlet hämtar objekt om egenskapsvärdet är samma som det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IEQ |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterScript
Anger det skriptblock som används för att filtrera objekten. Omslut skriptblocket inom klammerparenteser ( {} ).
Parameternamnet , FilterScript, är valfritt.
Type: | ScriptBlock |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GE
Anger att denna cmdlet 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.
Type: | SwitchParameter |
Aliases: | IGE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GT
Anger att denna cmdlet hämtar objekt om egenskapsvärdet är större än det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IGT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-In
Anger att denna cmdlet hämtar objekt om egenskapsvärdet matchar något av de angivna värdena.
Exempelvis: Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
Om värdet för parametern Value ä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 egenskapsparametern och ett värde för Värde är samma instans av ett objekt.
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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
, behandlas InputObject-värdet 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.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Is
Anger att denna cmdlet hämtar objekt om egenskapsvärdet är en instans av den angivna .NET Framework typen. Omge typnamnet inom hakparenteser.
Till exempel Get-Process | where StartTime -Is [DateTime]
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IsNot
Anger att denna cmdlet hämtar objekt om egenskapsvärdet inte är en instans av den angivna .NET Framework typen.
Till exempel Get-Process | where StartTime -IsNot [DateTime]
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LE
Anger att denna cmdlet 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.
Type: | SwitchParameter |
Aliases: | ILE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Like
Anger att denna cmdlet hämtar objekt om egenskapsvärdet matchar ett värde som innehåller jokertecken.
Exempelvis: Get-Process | where ProcessName -Like "*host"
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | ILike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LT
Anger att denna cmdlet hämtar objekt om egenskapsvärdet är mindre än det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | ILT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Match
Anger att denna cmdlet hämtar objekt om egenskapsvärdet matchar det angivna reguljära uttrycket.
När indata är skalär sparas det matchade värdet i $Matches
den automatiska variabeln.
Exempelvis: Get-Process | where ProcessName -Match "shell"
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NE
Anger att denna cmdlet hämtar objekt om egenskapsvärdet skiljer sig från det angivna värdet.
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Exempelvis: Get-Process | where 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.
Type: | SwitchParameter |
Aliases: | INotContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotIn
Anger att denna cmdlet hämtar objekt om egenskapsvärdet inte är en exakt matchning för något av de angivna värdena.
Exempelvis: Get-Process | where -Value "svchost" -NotIn -Property ProcessName
Om värdet för Value ä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 Egenskapen och ett värde för Värde inte är samma instans av ett objekt.
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotLike
Anger att denna cmdlet hämtar objekt om egenskapsvärdet inte matchar ett värde som innehåller jokertecken.
Exempelvis: Get-Process | where ProcessName -NotLike "*host"
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotLike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotMatch
Anger att denna cmdlet hämtar objekt när egenskapsvärdet inte matchar det angivna reguljära uttrycket.
När indata är skalär sparas det matchade värdet i $Matches
den automatiska variabeln.
Exempelvis: Get-Process | where ProcessName -NotMatch "PowerShell"
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Anger namnet på en objektegenskap.
Parameternamnet , Egenskap, är valfritt.
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Anger ett egenskapsvärde. Parameternamnet , Value, är valfritt. Den här parametern accepterar jokertecken när den används med följande jämförelseparametrar:
- CLike
- CNotLike
- Gilla
- NotLike
Den här parametern introducerades i Windows PowerShell 3.0.
Type: | Object |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Indata
Du kan skicka objekten till den här cmdleten.
Utdata
Object
Den här cmdleten returnerar markerade objekt från indataobjektuppsättningen.
Kommentarer
- Från och med Windows PowerShell 4.0
Where
harForEach
metoder lagts till för användning med samlingar.- Du kan läsa mer om dessa nya metoder här about_arrays