Dela via


Where-Object

Väljer objekt från en samling baserat på deras egenskapsvärden.

Syntax

EqualSet (Standard)

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-EQ]
    [<CommonParameters>]

ScriptBlockSet

Where-Object
    [-FilterScript] <ScriptBlock>
    [-InputObject <PSObject>]
    [<CommonParameters>]

LessOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-LE]
    [<CommonParameters>]

CaseSensitiveGreaterOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CGE]
    [<CommonParameters>]

CaseSensitiveLessOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CLE]
    [<CommonParameters>]

CaseSensitiveInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CIn]
    [<CommonParameters>]

GreaterOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-GE]
    [<CommonParameters>]

CaseSensitiveLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CLike]
    [<CommonParameters>]

NotLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-NotLike]
    [<CommonParameters>]

CaseSensitiveNotLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CNotLike]
    [<CommonParameters>]

MatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-Match]
    [<CommonParameters>]

CaseSensitiveMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CMatch]
    [<CommonParameters>]

NotMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-NotMatch]
    [<CommonParameters>]

CaseSensitiveNotMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CNotMatch]
    [<CommonParameters>]

ContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-Contains]
    [<CommonParameters>]

CaseSensitiveContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CContains]
    [<CommonParameters>]

NotContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-NotContains]
    [<CommonParameters>]

CaseSensitiveNotContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CNotContains]
    [<CommonParameters>]

InSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-In]
    [<CommonParameters>]

LikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-Like]
    [<CommonParameters>]

NotInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-NotIn]
    [<CommonParameters>]

CaseSensitiveNotInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CNotIn]
    [<CommonParameters>]

IsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-Is]
    [<CommonParameters>]

IsNotSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-IsNot]
    [<CommonParameters>]

CaseSensitiveEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CEQ]
    [<CommonParameters>]

NotEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-NE]
    [<CommonParameters>]

CaseSensitiveNotEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CNE]
    [<CommonParameters>]

GreaterThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-GT]
    [<CommonParameters>]

CaseSensitiveGreaterThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-CGT]
    [<CommonParameters>]

LessThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-LT]
    [<CommonParameters>]

CaseSensitiveLessThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-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 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 klassen Normal prioritet, 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 skriptblockformatet. Mer information om jämförelseoperatorer 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 kan användas 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 lägger Where-Object till jämförelseoperatorer som parametrar i kommandot Where-Object. Om inget anges är alla operatorer skiftlägeskänsliga. Före Windows PowerShell 3.0 kunde jämförelseoperatorerna på PowerShell-språket endast användas i skriptblock.

Exempel

Exempel 1: Hämta stoppade tjänster

Dessa kommandon får en lista över alla tjänster som för närvarande stoppas.

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 är likvärdiga och kan användas utbytbart.

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.

Syntaxen för scriptblock och instruktion är likvärdiga och kan användas omväxlande.

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 reguljära uttrycksmatchningar.

Syntaxen för scriptblock och instruktion är likvärdiga och kan användas omväxlande.

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 det nya jämförelseuttrycksformatet för cmdleten Where-Object.

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. Det där alias ersätts med cmdletnamnet 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 skriptblock- 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 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 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 av och logiska operatorn.

I exemplet används skriptblockskommandoformatet. Logiska operatorer, till exempel Och och Eller, är endast giltiga i skriptblock. Du kan inte använda dem i jämförelseuttrycksformatet för ett Where-Object-kommando.

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 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveContainsSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveEqualSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveGreaterOrEqualSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveGreaterThanSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 -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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveInSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveLessOrEqualSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 ProcessName -CLike "*host"

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveLikeSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveLessThanSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 skalär sparas det matchade värdet i $Matches automatisk variabel.

Till exempel: Get-Process | where ProcessName -CMatch "Shell"

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveMatchSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveNotEqualSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveNotContainsSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 -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"

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveNotInSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 ProcessName -CNotLike "*host"

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveNotLikeSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 skalär sparas det matchade värdet i $Matches automatisk variabel.

Till exempel: Get-Process | where ProcessName -CNotMatch "Shell"

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CaseSensitiveNotMatchSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:IContains

Parameteruppsättningar

ContainsSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:IEQ

Parameteruppsättningar

EqualSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-FilterScript

Anger det skriptblock som används för att filtrera objekten. Omslut skriptblocket i klammerparenteser ( {} ).

Parameternamnet FilterScript är valfritt.

Parameteregenskaper

Typ:ScriptBlock
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ScriptBlockSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:IGE

Parameteruppsättningar

GreaterOrEqualSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:IGT

Parameteruppsättningar

GreaterThanSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"

Om värdet för parametern 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-Objectreturnerar 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Iin

Parameteruppsättningar

InSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 samling objekt rekommenderar vi att du använder Where-Object för att filtrera en samling objekt för objekt som har specifika värden i definierade egenskaper, använder du Where-Object i pipelinen, som du ser i exemplen i det här avsnittet.

Parameteregenskaper

Typ:PSObject
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Is

Anger att den här cmdleten hämtar objekt om egenskapsvärdet är en instans av den angivna .NET Framework-typen. Omslut typnamnet inom hakparenteser.

Till exempel: Get-Process | where StartTime -Is [DateTime]

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

IsSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

IsNotSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:ILE

Parameteruppsättningar

LessOrEqualSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 ProcessName -Like "*host"

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:ILike

Parameteruppsättningar

LikeSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:ILT

Parameteruppsättningar

LessThanSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Match

Anger att den här cmdleten 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 automatisk variabel.

Till exempel: Get-Process | where ProcessName -Match "shell"

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:IMatch

Parameteruppsättningar

MatchSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:INE

Parameteruppsättningar

NotEqualSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:INotContains

Parameteruppsättningar

NotContainsSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Till exempel: Get-Process | where -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 något värde för Värde inte är samma instans av ett objekt.

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:INotIn

Parameteruppsättningar

NotInSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 ProcessName -NotLike "*host"

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:INotLike

Parameteruppsättningar

NotLikeSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 skalär sparas det matchade värdet i $Matches automatisk variabel.

Till exempel: Get-Process | where ProcessName -NotMatch "PowerShell"

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:INotMatch

Parameteruppsättningar

NotMatchSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Property

Anger namnet på en objektegenskap.

Parameternamnet egenskapär valfritt.

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

EqualSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LessOrEqualSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveGreaterOrEqualSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveLessOrEqualSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveInSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
GreaterOrEqualSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveLikeSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotLikeSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotLikeSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
MatchSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveMatchSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotMatchSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotMatchSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
ContainsSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveContainsSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotContainsSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotContainsSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
InSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LikeSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotInSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotInSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
IsSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
IsNotSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveEqualSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotEqualSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotEqualSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
GreaterThanSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveGreaterThanSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LessThanSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveLessThanSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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
  • Likt
  • Inte gilla

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:Object
Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

EqualSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LessOrEqualSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveGreaterOrEqualSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveLessOrEqualSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveInSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
GreaterOrEqualSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveLikeSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotLikeSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotLikeSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
MatchSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveMatchSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotMatchSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotMatchSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
ContainsSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveContainsSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotContainsSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotContainsSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
InSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LikeSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotInSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotInSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
IsSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
IsNotSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveEqualSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
NotEqualSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveNotEqualSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
GreaterThanSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveGreaterThanSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LessThanSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CaseSensitiveLessThanSet
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

PSObject

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 lades Where och ForEach metoder till för användning med samlingar.