Delen via


Where-Object

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

Syntaxis

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 met bepaalde eigenschapswaarden uit de verzameling objecten die eraan 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 eigenschapsnaam, een vergelijkingsoperator en een eigenschapswaarde op te geven. Where-Object retourneert alle objecten waarvoor de instructie scriptblok 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-vergelijkingsoperatoren zijn geldig in de indeling van het scriptblok. Zie about_Comparison_Operators voor meer informatie.

  • Vergelijkingsinstructie. U kunt ook een vergelijkingsinstructie schrijven, wat 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 Where-Object worden vergelijkingsoperatoren toegevoegd als parameters in een Where-Object opdracht. Tenzij opgegeven, zijn alle operators hoofdlettergevoelig. Vóór Windows PowerShell 3.0 waren de vergelijkingsoperators in de PowerShell-taal alleen bruikbaar in scriptblokken.

Wanneer u één eigenschap opgeeft Where-Object, behandelt de cmdlet de waarde van de eigenschap als een Boole-expressie. Wanneer de waarde van de lengte van de eigenschap niet nul is, wordt de expressie geëvalueerd.$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 van het 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 met een werkset 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. Er worden geen aliassen gebruikt en bevat de naam voor elke parameter.

De tweede opdracht is het natuurlijkeer gebruik van de vergelijkingsopdrachtindeling. Met de opdracht wordt de where alias vervangen door de naam van de Where-Object cmdlet 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 een waarde hebben voor een opgegeven eigenschap. In elk voorbeeld worden zowel de indelingen van het scriptblok als de vergelijkingsinstructie voor de opdracht weergegeven.

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 Updatable 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, waarmee modules worden opgehaald waarvan de namen niet beginnen met Microsoft of PS, en een waarde hebben 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 scriptblokopdrachtindeling gebruikt. Logische operators, zoals -anden-or-not zijn alleen geldig in scriptblokken. U kunt deze niet gebruiken in de vergelijkingsinstructieindeling 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, converteert PowerShell het naar een verzameling van één object.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CEQ

Geeft aan dat deze cmdlet objecten ophaalt 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CGE

Geeft aan dat deze cmdlet objecten ophaalt 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CGT

Geeft aan dat deze cmdlet objecten ophaalt 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 worden omgekeerd. 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CLT

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CNE

Geeft aan dat deze cmdlet objecten ophaalt 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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, converteert PowerShell het naar een verzameling van één object.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CNotIn

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde 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 worden omgekeerd. De volgende instructies zijn bijvoorbeeld waar.

"abc", "def" -CNotContains "Abc"

"abc" -CNotIn "Abc", "def"

Type:SwitchParameter
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CNotLike

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CNotMatch

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschapswaarde 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Contains

Geeft aan dat deze cmdlet objecten ophaalt als een item in de eigenschapswaarde van het object een exacte overeenkomst is voor de opgegeven waarde.

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

Als de invoer één object is, converteert PowerShell het naar een verzameling van één object.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliassen:IContains
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-EQ

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

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliassen:IEQ
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-GE

Geeft aan dat deze cmdlet objecten ophaalt 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
Aliassen:IGE
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-GT

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

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliassen:IGT
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-In

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

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

Als de invoer één object is, converteert PowerShell het naar een verzameling van één object.

Als de eigenschapswaarde van een object een matrix is, gebruikt PowerShell verwijzings gelijkheid 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
Aliassen:IIn
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-InputObject

Hiermee geeft u de objecten die moeten worden gefilterd. U kunt de objecten ook doorsluisen naar Where-Object.

Wanneer u de parameter InputObject gebruikt met Where-Object, in plaats van de resultaten van de opdracht Where-Objectpiping, 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 kan retourneren uit een matrix of verzameling objecten, raden we u aan om, als u een Where-Object verzameling objecten filtert voor die objecten met specifieke waarden in gedefinieerde eigenschappen, in de pijplijn te gebruiken Where-Object , zoals wordt weergegeven in de voorbeelden in dit onderwerp.

Type:PSObject
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Is

Geeft aan dat deze cmdlet objecten ophaalt 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-IsNot

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

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

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Aliassen:ILE
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Aliassen:ILike
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Aliassen:ILT
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Aliassen:IMatch
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-NE

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

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliassen:INE
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Not

Geeft aan dat deze cmdlet objecten ophaalt als de eigenschap niet bestaat of een waarde heeft van $null of $false.

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

Deze parameter is geïntroduceerd in Windows PowerShell 6.1.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-NotContains

Geeft aan dat deze cmdlet objecten ophaalt als geen van de items in de eigenschapswaarde een exacte overeenkomst is voor 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, converteert PowerShell het naar een verzameling van één object.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Aliassen:INotContains
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-NotIn

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

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

Als de waarde van waarde één object is, converteert PowerShell het naar een verzameling van één object.

Als de eigenschapswaarde van een object een matrix is, gebruikt PowerShell verwijzings gelijkheid 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
Aliassen:INotIn
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren: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
Aliassen:INotLike
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-NotMatch

Geeft aan dat deze cmdlet objecten ophaalt wanneer de eigenschapswaarde 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
Aliassen:INotMatch
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Property

Hiermee geeft u de naam van een eigenschap van het invoerobject. De eigenschap moet een exemplaareigenschap zijn, niet een 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
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Value

Hiermee geeft u een eigenschapswaarde op. 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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

Invoerwaarden

PSObject

U kunt elk object doorsluisen naar deze cmdlet.

Uitvoerwaarden

Object

Met deze cmdlet worden de geselecteerde items uit de invoerobjectset geretourneerd.

Notities

PowerShell bevat de volgende aliassen voor Where-Object:

  • Alle platforms:
    • ?
    • where

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

Meer informatie over deze methoden vindt u hier about_arrays