Delen via


Where-Object

Hiermee selecteert u objecten uit een verzameling op basis van hun eigenschapswaarden.

Syntax

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

Description

De Where-Object cmdlet selecteert objecten die bepaalde eigenschapswaarden hebben uit de verzameling objecten die aan de cmdlet worden doorgegeven. U kunt bijvoorbeeld de Where-Object cmdlet gebruiken om bestanden te selecteren die zijn gemaakt na een bepaalde datum, gebeurtenissen met een bepaalde id of computers die een bepaalde versie van Windows gebruiken.

Vanaf Windows PowerShell 3.0 zijn er twee verschillende manieren om een Where-Object opdracht te maken.

  • Scriptblok. U kunt een scriptblok gebruiken om de naam van de eigenschap, een vergelijkingsoperator en een eigenschapswaarde op te geven. Where-Object retourneert alle objecten waarvoor de scriptblokinstructie waar is.

    Met de volgende opdracht worden bijvoorbeeld processen opgehaald in de Normal prioriteitsklasse, dat wil gezegd, processen waarbij de waarde van de eigenschap PriorityClass gelijk is Normalaan .

    Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}

    Alle PowerShell-vergelijkingsoperators zijn geldig in de scriptblokindeling. Zie about_Comparison_Operators voor meer informatie.

  • Vergelijkingsinstructie. U kunt ook een vergelijkingsinstructie schrijven, die veel meer lijkt op natuurlijke taal. Vergelijkingsinstructies zijn geïntroduceerd in Windows PowerShell 3.0.

    Met de volgende opdrachten worden bijvoorbeeld ook processen met een prioriteitsklasse van Normal. Deze opdrachten zijn gelijkwaardig en u kunt ze door elkaar gebruiken.

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

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

    Vanaf Windows PowerShell 3.0 voegt Where-Object u vergelijkingsoperators toe als parameters in een Where-Object opdracht. Tenzij opgegeven, zijn alle operators niet hoofdlettergevoelig. Vóór Windows PowerShell 3.0 waren de vergelijkingsoperatoren in de PowerShell-taal alleen bruikbaar in scriptblokken.

Wanneer u één eigenschap opgeeft aan Where-Object, behandelt de cmdlet de waarde van de eigenschap als een booleaanse expressie. Wanneer de waarde van de lengte van de eigenschap niet nul is, resulteert de expressie in $true. Bijvoorbeeld: ('hi', '', 'there') | Where-Object Length

Het vorige voorbeeld is functioneel gelijk aan:

  • ('hi', '', 'there') | Where-Object Length -GT 0
  • ('hi', '', 'there') | Where-Object { $_.Length -gt 0 }

Zie about_Booleans voor meer informatie over hoe PowerShell booleaanse waarden evalueert.

Voorbeelden

Voorbeeld 1: gestopte services ophalen

Met deze opdrachten krijgt u een lijst met alle services die zijn gestopt. De $_ automatische variabele vertegenwoordigt elk object dat wordt doorgegeven aan de Where-Object cmdlet.

De eerste opdracht maakt gebruik van de indeling scriptblok, de tweede opdracht maakt gebruik van de indeling van de vergelijkingsinstructie. De opdrachten filteren de services op dezelfde manier en retourneren dezelfde uitvoer. Alleen de syntaxis is anders.

Get-Service | Where-Object { $_.Status -eq "Stopped" }
Get-Service | Where-Object Status -EQ "Stopped"

Voorbeeld 2: Processen ophalen op basis van een werkset

Met deze opdrachten worden processen weergegeven die een werkset hebben die groter is dan 250 MB (megabytes). De opdrachten filteren de processen op dezelfde manier en retourneren dezelfde uitvoer. Alleen de syntaxis is anders.

Get-Process | Where-Object { $_.WorkingSet -GT 250MB }
Get-Process | Where-Object WorkingSet -GT 250MB

Voorbeeld 3: Processen ophalen op basis van procesnaam

Met deze opdrachten worden de processen opgehaald die een eigenschapswaarde ProcessName hebben die begint met de letter p. Met de operator Vergelijken kunt u reguliere expressieovereenkomsten gebruiken.

De opdrachten filteren de processen op dezelfde manier en retourneren dezelfde uitvoer. Alleen de syntaxis is anders.

Get-Process | Where-Object { $_.ProcessName -Match "^p.*" }
Get-Process | Where-Object ProcessName -Match "^p.*"

Voorbeeld 4: De indeling van de vergelijkingsinstructie gebruiken

In dit voorbeeld ziet u hoe u de nieuwe indeling van de vergelijkingsinstructie van de Where-Object cmdlet gebruikt.

De eerste opdracht maakt gebruik van de indeling van de vergelijkingsinstructie. Het gebruikt geen aliassen en bevat de naam voor elke parameter.

De tweede opdracht is het meer natuurlijke gebruik van de indeling van de vergelijkingsopdracht. Met de opdracht wordt de where naam van de cmdlet vervangen door de Where-Object alias en worden alle optionele parameternamen weggelaten.

De opdrachten filteren de processen op dezelfde manier en retourneren dezelfde uitvoer. Alleen de syntaxis is anders.

Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000

Voorbeeld 5: Opdrachten ophalen op basis van eigenschappen

In dit voorbeeld ziet u hoe u opdrachten schrijft die items retourneren die waar of onwaar zijn of die een waarde hebben voor een opgegeven eigenschap. Elk voorbeeld toont zowel de indelingen van het scriptblok als de vergelijkingsinstructie voor de opdracht.

De opdrachten filteren hun invoer op dezelfde manier en retourneren dezelfde uitvoer. Alleen de syntaxis is anders.

# Use Where-Object to get commands that have any value for the OutputType
# property of the command. This omits commands that do not have an OutputType
# property and those that have an OutputType property, but no property value.
Get-Command | Where-Object OutputType
Get-Command | Where-Object { $_.OutputType }

# Use Where-Object to get objects that are containers. This gets objects that
# have the **PSIsContainer** property with a value of $True and excludes all
# others.
Get-ChildItem | Where-Object PSIsContainer
Get-ChildItem | Where-Object { $_.PSIsContainer }

# Finally, use the -not operator (!) to get objects that are not containers.
# This gets objects that do have the **PSIsContainer** property and those
# that have a value of $False for the **PSIsContainer** property.
Get-ChildItem | Where-Object -Not PSIsContainer
Get-ChildItem | Where-Object { !$_.PSIsContainer }

Voorbeeld 6: Meerdere voorwaarden gebruiken

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

In dit voorbeeld ziet u hoe u een Where-Object opdracht met meerdere voorwaarden maakt.

Met deze opdracht worden niet-kernmodules opgehaald die ondersteuning bieden voor de functie Bijwerkbare Help. De opdracht gebruikt de parameter ListAvailable van de Get-Module cmdlet om alle modules op de computer op te halen. Een pijplijnoperator (|) verzendt de modules naar de Where-Object cmdlet, die modules ophaalt waarvan de naam niet begint met Microsoft of PS, en een waarde heeft voor de eigenschap HelpInfoURI , waarmee PowerShell aangeeft waar bijgewerkte Help-bestanden voor de module moeten worden gevonden. De -and logische operator verbindt de vergelijkingsinstructies.

In het voorbeeld wordt de opdrachtindeling scriptblok gebruikt. Logische operators, zoals -and,-or, en -not zijn alleen geldig in scriptblokken. U kunt deze niet gebruiken in de indeling van de vergelijkingsinstructie van een Where-Object opdracht.

Parameters

-CContains

Geeft aan dat deze cmdlet objecten ophaalt uit een verzameling als de eigenschapswaarde van het object exact overeenkomt met de opgegeven waarde. Deze bewerking is hoofdlettergevoelig.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -CContains "svchost"

CContains verwijst naar een verzameling waarden en is waar als de verzameling een item bevat dat exact overeenkomt met de opgegeven waarde. Als de invoer één object is, wordt dit door PowerShell geconverteerd naar een verzameling van één object.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CEQ

Geeft aan dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde hetzelfde is als de opgegeven waarde. Deze bewerking is hoofdlettergevoelig.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CGE

Geeft aan dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde groter is dan of gelijk is aan de opgegeven waarde. Deze bewerking is hoofdlettergevoelig.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CGT

Geeft aan dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde groter is dan de opgegeven waarde. Deze bewerking is hoofdlettergevoelig.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CIn

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde de opgegeven waarde bevat. Deze bewerking is hoofdlettergevoelig.

Bijvoorbeeld: Get-Process | Where-Object -Value "svchost" -CIn ProcessName

CIn lijkt op CContains, behalve dat de eigenschaps- en waardeposities omgekeerd zijn. De volgende beweringen zijn bijvoorbeeld beide waar.

"abc", "def" -CContains "abc"

"abc" -CIn "abc", "def"

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CLE

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde kleiner is dan of gelijk is aan de opgegeven waarde. Deze bewerking is hoofdlettergevoelig.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CLike

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde overeenkomt met een waarde die jokertekens (*) bevat. Deze bewerking is hoofdlettergevoelig.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -CLike "*host"

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CLT

Geeft aan dat met deze cmdlet objecten worden opgehaald als de waarde van de eigenschap kleiner is dan de opgegeven waarde. Deze bewerking is hoofdlettergevoelig.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CMatch

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde overeenkomt met de opgegeven reguliere expressie. Deze bewerking is hoofdlettergevoelig. Wanneer de invoer één object is, wordt de overeenkomende waarde opgeslagen in de $Matches automatische variabele.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -CMatch "Shell"

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CNE

Hiermee wordt aangegeven dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde anders is dan de opgegeven waarde. Deze bewerking is hoofdlettergevoelig.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CNotContains

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde van het object niet exact overeenkomt met de opgegeven waarde. Deze bewerking is hoofdlettergevoelig.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -CNotContains "svchost"

NotContains en CNotContains verwijzen naar een verzameling waarden en zijn waar wanneer de verzameling geen items bevat die exact overeenkomen met de opgegeven waarde. Als de invoer één object is, wordt dit door PowerShell geconverteerd naar een verzameling van één object.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CNotIn

Geeft aan dat met deze cmdlet objecten worden opgehaald als de waarde van de eigenschap niet exact overeenkomt met de opgegeven waarde. Deze bewerking is hoofdlettergevoelig.

Bijvoorbeeld: Get-Process | Where-Object -Value "svchost" -CNotIn -Property ProcessName

NotIn - en CNotIn-operators lijken op NotContains en CNotContains, behalve dat de eigenschaps- en waardeposities omgekeerd zijn. De volgende beweringen zijn bijvoorbeeld waar.

"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

Geeft aan dat met deze cmdlet objecten worden opgehaald als de waarde van de eigenschap niet overeenkomt met een waarde die jokertekens bevat. Deze bewerking is hoofdlettergevoelig.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -CNotLike "*host"

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CNotMatch

Geeft aan dat met deze cmdlet objecten worden opgehaald als de waarde van de eigenschap niet overeenkomt met de opgegeven reguliere expressie. Deze bewerking is hoofdlettergevoelig. Wanneer de invoer één object is, wordt de overeenkomende waarde opgeslagen in de $Matches automatische variabele.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -CNotMatch "Shell"

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Contains

Geeft aan dat deze cmdlet objecten ophaalt als een item in de eigenschapswaarde van het object exact overeenkomt met de opgegeven waarde.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -Contains "Svchost"

Als de invoer één object is, wordt dit door PowerShell geconverteerd naar een verzameling van één object.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IContains
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-EQ

Geeft aan dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde hetzelfde is als de opgegeven waarde.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IEQ
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilterScript

Hiermee geeft u het scriptblok op dat wordt gebruikt om de objecten te filteren. Plaats het scriptblok tussen accolades ({}).

De parameternaam , FilterScript, is optioneel.

Type:ScriptBlock
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-GE

Geeft aan dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde groter is dan of gelijk is aan de opgegeven waarde.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IGE
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-GT

Geeft aan dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde groter is dan de opgegeven waarde.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IGT
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-In

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde overeenkomt met een van de opgegeven waarden. Bijvoorbeeld:

Get-Process | Where-Object -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"

Als de invoer één object is, wordt dit door PowerShell geconverteerd naar een verzameling van één object.

Als de eigenschapswaarde van een object een matrix is, gebruikt PowerShell verwijzingsgelijkheid om een overeenkomst te bepalen. Where-Object retourneert het object alleen als de waarde van de parameter Eigenschap en een waarde van Waarde hetzelfde exemplaar van een object zijn.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IIn
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Hiermee geeft u de objecten te filteren. U kunt de objecten ook doorsluisen naar Where-Object.

Wanneer u de parameter InputObject gebruikt met Where-Object, in plaats van de opdrachtresultaten door te sluizen naar Where-Object, behandelt de cmdlet het InputObject als één object. Dit geldt zelfs als de waarde een verzameling is die het resultaat is van een opdracht, zoals -InputObject (Get-Process).

Omdat InputObject geen afzonderlijke eigenschappen van een matrix of verzameling objecten kan retourneren, raden we u aan om, als u Where-Object gebruikt om een verzameling objecten te filteren op objecten met specifieke waarden in gedefinieerde eigenschappen, u in de pijplijn gebruikt Where-Object , zoals wordt weergegeven in de voorbeelden in dit onderwerp.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Is

Geeft aan dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde een exemplaar is van het opgegeven .NET-type. Plaats de typenaam tussen vierkante haken.

Bijvoorbeeld: Get-Process | Where-Object StartTime -Is [DateTime]

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-IsNot

Geeft aan dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde geen exemplaar van het opgegeven .NET-type is.

Bijvoorbeeld: Get-Process | where StartTime -IsNot [DateTime]

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-LE

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde kleiner is dan of gelijk is aan de opgegeven waarde.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:ILE
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Like

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde overeenkomt met een waarde die jokertekens (*) bevat.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -Like "*host"

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:ILike
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-LT

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde kleiner is dan de opgegeven waarde.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:ILT
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Match

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde overeenkomt met de opgegeven reguliere expressie. Wanneer de invoer één object is, wordt de overeenkomende waarde opgeslagen in de $Matches automatische variabele.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -Match "shell"

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IMatch
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NE

Hiermee wordt aangegeven dat met deze cmdlet objecten worden opgehaald als de eigenschapswaarde anders is dan de opgegeven waarde.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:INE
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Not

Geeft aan dat met deze cmdlet objecten worden opgehaald als de eigenschap niet bestaat of de waarde $null of $falseheeft.

Bijvoorbeeld: Get-Service | Where-Object -Not "DependentServices"

Deze parameter is geïntroduceerd in Windows PowerShell 6.1.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NotContains

Geeft aan dat met deze cmdlet objecten worden opgehaald als geen van de items in de eigenschapswaarde exact overeenkomt met de opgegeven waarde.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -NotContains "Svchost"

NotContains verwijst naar een verzameling waarden en is waar als de verzameling geen items bevat die exact overeenkomen met de opgegeven waarde. Als de invoer één object is, wordt dit door PowerShell geconverteerd naar een verzameling van één object.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:INotContains
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NotIn

Geeft aan dat deze cmdlet objecten ophaalt als de waarde van de eigenschap niet exact overeenkomt met een van de opgegeven waarden.

Bijvoorbeeld: Get-Process | Where-Object -Value "svchost" -NotIn -Property ProcessName

Als de waarde van Value één object is, wordt dit door PowerShell geconverteerd naar een verzameling van één object.

Als de eigenschapswaarde van een object een matrix is, gebruikt PowerShell verwijzingsgelijkheid om een overeenkomst te bepalen. Where-Object retourneert het object alleen als de waarde van Eigenschap en een waarde van Waarde niet hetzelfde exemplaar van een object zijn.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:INotIn
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NotLike

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde niet overeenkomt met een waarde die jokertekens (*) bevat.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -NotLike "*host"

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:INotLike
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NotMatch

Geeft aan dat deze cmdlet objecten ophaalt wanneer de waarde van de eigenschap niet overeenkomt met de opgegeven reguliere expressie. Wanneer de invoer één object is, wordt de overeenkomende waarde opgeslagen in de $Matches automatische variabele.

Bijvoorbeeld: Get-Process | Where-Object ProcessName -NotMatch "PowerShell"

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:INotMatch
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Property

Hiermee geeft u de naam van een eigenschap van het invoerobject. De eigenschap moet een exemplaareigenschap zijn, geen statische eigenschap. Dit is een positionele parameter, dus de naam , Eigenschap, is optioneel.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Value

Hiermee geeft u een eigenschapswaarde. De parameternaam , Waarde, is optioneel. Deze parameter accepteert jokertekens bij gebruik met de volgende vergelijkingsparameters:

  • CLike
  • CNotLike
  • Als
  • NotLike

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:PSObject
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Invoerwaarden

PSObject

U kunt elk object doorspezen naar deze cmdlet.

Uitvoerwaarden

Object

Deze cmdlet retourneert de geselecteerde items uit de invoerobjectset.

Notities

PowerShell bevat de volgende aliassen voor Where-Object:

  • Alle platforms:
    • ?
    • where

Vanaf Windows PowerShell 4.0 zijn WhereForEach methoden toegevoegd voor gebruik met verzamelingen.

Meer informatie over deze methoden vindt u hier about_arrays