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 isNormal
aan .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 eenWhere-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 -and
en-or
-not
zijn alleen geldig in scriptblokken. U kunt deze niet gebruiken in de vergelijkingsinstructieindeling van een Where-Object
opdracht.
- Zie about_Logical_Operators voor meer informatie over logische PowerShell-operators.
- Zie about_Updatable_Help voor meer informatie over de Help-functie Bijwerken.
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-Object
piping, 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
U kunt elk object doorsluisen naar deze cmdlet.
Uitvoerwaarden
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