Wählt Objekte aus einer Auflistung basierend auf ihren Eigenschaftswerten aus.
- Syntax
- Beschreibung
- Beispiele
- Beispiel 1: Abrufen gestoppter Dienste
- Beispiel 2: Abrufen von Prozessen basierend auf dem Arbeitsset
- Beispiel 3: Abrufen von Prozessen anhand des Prozessnamens
- Beispiel 4: Verwenden des Vergleichsanweisungsformats
- Beispiel 5: Abrufbefehle basierend auf Eigenschaften
- Beispiel 6: Verwenden mehrerer Bedingungen
- Parameter
- Inputs
- Outputs
- Hinweise
Syntax
Where-Object <String> <Object>]
Where-Object <ScriptBlock>
Where-Object <String> <Object>] -Match
Where-Object <String> <Object>] -CEQ
Where-Object <String> <Object>] -NE
Where-Object <String> <Object>] -CNE
Where-Object <String> <Object>] -GT
Where-Object <String> <Object>] -CGT
Where-Object <String> <Object>] -LT
Where-Object <String> <Object>] -CLT
Where-Object <String> <Object>] -GE
Where-Object <String> <Object>] -CGE
Where-Object <String> <Object>] -LE
Where-Object <String> <Object>] -CLE
Where-Object <String> <Object>] -Like
Where-Object <String> <Object>] -CLike
Where-Object <String> <Object>] -NotLike
Where-Object <String> <Object>] -CNotLike
Where-Object <String> <Object>] -CMatch
Where-Object <String> <Object>] -NotMatch
Where-Object <String> <Object>] -CNotMatch
Where-Object <String> <Object>] -Contains
Where-Object <String> <Object>] -CContains
Where-Object <String> <Object>] -NotContains
Where-Object <String> <Object>] -CNotContains
Where-Object <String> <Object>] -In
Where-Object <String> <Object>] -CIn
Where-Object <String> <Object>] -NotIn
Where-Object <String> <Object>] -CNotIn
Where-Object <String> <Object>] -Is
Where-Object <String> <Object>] -IsNot
Where-Object <String> -Not
Beschreibung
Das Cmdlet Where-Object
wählt Objekte mit bestimmten Eigenschaftswerten aus der Auflistung der übergebenen Objekte aus. Sie können das Cmdlet Where-Object
beispielsweise verwenden, um Dateien auszuwählen, die nach einem bestimmten Datum erstellt wurden, Ereignisse mit einer bestimmten ID oder Computer, die eine bestimmte Version von Windows verwenden.
Ab Windows PowerShell 3.0 gibt es zwei verschiedene Möglichkeiten, einen Where-Object
Befehl zu erstellen.
-
Skriptblock. Sie können einen Skriptblock verwenden, um den Eigenschaftsnamen, einen Vergleichsoperator und einen Eigenschaftswert anzugeben.
Where-Object
gibt alle Objekte zurück, für die die Skriptblockanweisung wahr ist.Der folgende Befehl ruft beispielsweise Prozesse in der Prioritätsklasse Normal ab, d. h. Prozesse, bei denen der Wert der Eigenschaft PriorityClass gleich Normal ist.
Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
Alle PowerShell-Vergleichsoperatoren sind im Skriptblockformat gültig. Weitere Informationen zu Vergleichsoperatoren finden Sie unterÜber_Vergleichsoperatoren.
-
Vergleichsanweisung. Sie können auch eine Vergleichsanweisung schreiben, die einer natürlichen Sprache sehr viel ähnlicher ist. Vergleichsanweisungen wurden in Windows PowerShell 3.0 eingeführt.
Die folgenden Befehle rufen beispielsweise auch Prozesse ab, die eine Prioritätsklasse von Normal haben. Diese Befehle sind gleichwertig und können austauschbar verwendet werden.
Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"
Get-Process | Where-Object PriorityClass -eq "Normal"
Beginnend mit Windows PowerShell 3.0 fügt
Where-Object
Vergleichsoperatoren als Parameter in einemWhere-Object
-Befehl hinzu. Sofern nicht angegeben, wird bei allen Operatoren die Groß-/Kleinschreibung nicht berücksichtigt. Vor WindowsPowerShell 3.0 konnten die Vergleichsoperatoren in der PowerShell-Sprache nur in Skriptblöcken verwendet werden.
Wenn Sie eine einzelne Eigenschaft an Where-Object
übergeben, wird der Wert der Eigenschaft als boolescher Ausdruck behandelt. Wenn der Wert von Length ungleich Null ist, wird der Ausdruck alsTrue ausgewertet. Beispiel: ('hi', '', 'there') | Where-Object Length
Das vorherige Beispiel ist funktional äquivalent zu:
('hi', '', 'there') | Where-Object Length -GT 0
('hi', '', 'there') | Where-Object {$_.Length -gt 0}
Beispiele
Beispiel 1: Abrufen gestoppter Dienste
Diese Befehle rufen eine Liste aller Dienste ab, die derzeit gestoppt sind. Die automatische Variable $_
stellt jedes Objekt dar, das an das Cmdlet Where-Object
übergeben wird.
Der erste Befehl verwendet das Skriptblockformat, der zweite Befehl verwendet das Format für Vergleichsanweisungen. Die Befehle sind gleichwertig und können austauschbar verwendet werden.
Get-Service | Where-Object {$_.Status -eq "Stopped"}Get-Service | where Status -eq "Stopped"
Beispiel 2: Abrufen von Prozessen basierend auf dem Arbeitsset
Diese Befehle listen Prozesse auf, deren Arbeitsset größer als 250 Megabyte (KB) ist. Die Syntax von Skriptblock und Anweisung ist gleichwertig und kann austauschbar verwendet werden.
Get-Process | Where-Object {$_.WorkingSet -GT 250MB}Get-Process | Where-Object WorkingSet -GT (250MB)
Beispiel 3: Abrufen von Prozessen anhand des Prozessnamens
Mit diesen Befehlen werden die Prozesse abgerufen, deren Eigenschaftswert ProcessName mit dem Buchstaben p
beginnt. Mit dem Operator „Match“ können Sie Übereinstimmungen mit regulären Ausdrücken verwenden.
Der Skriptblock und die Anweisungssyntax sind gleichwertig und können austauschbar verwendet werden.
Get-Process | Where-Object {$_.ProcessName -Match "^p.*"}Get-Process | Where-Object ProcessName -Match "^p.*"
Beispiel 4: Verwenden des Vergleichsanweisungsformats
Dieses Beispiel zeigt, wie das neue Vergleichsanweisungsformat des Cmdlets Where-Object
verwendet wird.
Im ersten Befehl wird das Format für Vergleichsanweisungen verwendet, wobei keine Aliasnamen verwendet werden und alle Parameter den Parameternamen enthalten.
Der zweite Befehl ist die natürlichere Verwendung des Formats für Vergleichsanweisungen. Der Alias where
wird durch den Cmdlet-Namen Where-Object
ersetzt, und alle optionalen Parameternamen werden weggelassen.
Get-Process | Where-Object -Property Handles -GE -Value 1000Get-Process | where Handles -GE 1000
Beispiel 5: Abrufbefehle basierend auf Eigenschaften
In diesem Beispiel wird gezeigt, wie Befehle geschrieben werden, die Elemente zurückgeben, die wahr oder falsch sind oder einen beliebigen Wert für eine angegebene Eigenschaft haben. Jedes Beispiel zeigt sowohl die Skriptblock- als auch die Vergleichsanweisungsformate für den Befehl.
# 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 OutputTypeGet-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 PSIsContainerGet-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
Beispiel 6: Verwenden mehrerer Bedingungen
Get-Module -ListAvailable | where {($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri}
Dieses Beispiel zeigt, wie ein Where-Object
-Befehl mit mehreren Bedingungen erstellt wird.
Dieser Befehl ruft Nicht-Kernmodule ab, die die Funktion „Aktualisierbare Hilfe“ unterstützen. Der Befehl verwendet denListAvailable-Parameter des Cmdlets Get-Module
, um alle Module auf dem Computer abzurufen. Ein Pipelineoperator (|
) sendet die Module an das Cmdlet Where-Object
, das Module abruft, deren Namen nicht mit Microsoft oder PS beginnen und die einen Wert für die HelpInfoURI-Eigenschaft haben, die PowerShell mitteilt, wo aktualisierte Hilfedateien für das Modul zu finden sind. Die Vergleichsanweisungen sind durch den logischen Operator And verbunden.
Das Beispiel verwendet das Skriptblockbefehlsformat. Logische Operatoren, wie And und Or, sind nur in Skriptblöcken gültig. Sie können sie nicht im Vergleichsanweisungsformat einesWhere-Object
-Befehls verwenden.
- Weitere Informationen über logische PowerShell-Operatoren finden Sie unter about_Logical_Operators.
- Weitere Informationen über das Feature der aktualisierbaren Hilfe finden Sie unter about_Updatable_Help.
Parameter
Gibt an, dass dieses Cmdlet Objekte aus einer Auflistung abruft, wenn der Eigenschaftswert des Objekts eine exakte Übereinstimmung mit dem angegebenen Wert ist. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
Zum Beispiel: Get-Process | where ProcessName -CContains "svchost"
CContains bezieht sich auf eine Sammlung von Werten und ist wahr, wenn die Sammlung ein Element enthält, das eine genaue Übereinstimmung mit dem angegebenen Wert ist. Wenn die Eingabe ein einzelnes Objekt ist, konvertiert PowerShell es in eine Auflistung eines Objekts.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert mit dem angegebenen Wert übereinstimmt.Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert größer oder gleich dem angegebenen Wert ist. Bei diesem Vorgang wird die Groß-/Kleinschreibung berücksichtigt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert größer als der angegebene Wert ist.Bei diesem Vorgang wird die Groß-/Kleinschreibung berücksichtigt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert den angegebenen Wert enthält. Bei dieser Operation wird zwischen Groß- und Kleinschreibung unterschieden.
Zum Beispiel: Get-Process | where -Value "svchost" -CIn ProcessName
CIn ähnelt CContains, mit dem Unterschied, dass die Positionen von Eigenschaft und Wert vertauscht sind. Zum Beispiel sind die folgenden Aussagen beide wahr.
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert kleiner als oder gleich dem angegebenen Wert ist. Bei diesem Vorgang wird die Groß-/Kleinschreibung berücksichtigt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert mit einem Wert übereinstimmt, der Platzhalterzeichen enthält. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
Zum Beispiel: Get-Process | where ProcessName -CLike "*host"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert kleiner als der angegebene Wert ist. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert mit dem angegebenen regularexpression übereinstimmt. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden. Wenn die Eingabe skalar ist, wird der übereinstimmende Wert in der automatischen Variablen $Matches
gespeichert.
Beispiel: Get-Process | where ProcessName -CMatch "Shell"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn sich der Eigenschaftswert vom angegebenen Wert unterscheidet.Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert des Objekts keine genaue Übereinstimmung mit dem angegebenen Wert ist. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
Zum Beispiel: Get-Process | where ProcessName -CNotContains "svchost"
NotContains und CNotContains beziehen sich auf eine Auflistung von Werten und sind wahr, wenn dieAuflistung keine Elemente enthält, die eine genaue Übereinstimmung mit dem angegebenen Wert sind. Wenn die Eingabe ein einzelnes Objekt ist, konvertiert PowerShell es in eine Auflistung eines Objekts.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert keine exakte Übereinstimmung mit dem angegebenen Wert ist. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
Zum Beispiel: Get-Process | where -Value "svchost" -CNotIn -Property ProcessName
Die Operatoren NotIn und CNotIn ähneln NotContains und CNotContains, mit dem Unterschied, dass die Positionen von Eigenschaft und Wert umgekehrt sind. Zum Beispiel sind die folgenden Aussagen wahr.
"abc", "def" -CNotContains "Abc"
"abc" -CNotIn "Abc", "def"
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingang: | False |
Platzhalterzeichen akzeptieren: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert nicht mit einem Wert übereinstimmt, der Platzhalterzeichen enthält. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
Zum Beispiel: Get-Process | where ProcessName -CNotLike "*host"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert nicht mit dem angegebenen regularexpression übereinstimmt. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden. Wenn die Eingabe skalar ist, wird der übereinstimmende Wert in der automatischen Variablen $Matches
gespeichert.
Beispiel: Get-Process | where ProcessName -CNotMatch "Shell"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn ein Element im Eigenschaftswert des Objekts eine genaue Übereinstimmung mit dem angegebenen Wert ist.
Zum Beispiel: Get-Process | where ProcessName -Contains "Svchost"
Wenn der Eigenschaftswert ein einzelnes Objekt enthält, konvertiert PowerShell ihn in eine Auflistung von einem Objekt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | IContains |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert mit dem angegebenen Wert übereinstimmt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | IEQ |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Spezifiziert den Skriptblock, der zum Filtern der Objekte verwendet wird. Schließen Sie den Skriptblock in geschweifte Klammern ({}
) ein.
Der Parametername, FilterScript, ist optional.
Typ: | ScriptBlock |
Position: | 0 |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftenwert größer oder gleich dem angegebenen Wert ist.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | IGE |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert größer als der angegebene Wert ist.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | IGT |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert mit einem der angegebenen Werte übereinstimmt.Beispiel:
Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
Wenn der Wert des Value-Parameters ein einzelnes Objekt ist, konvertiert PowerShell ihn in eine Auflistung von einem Objekt.
Wenn der Eigenschaftenwert eines Objekts ein Array ist, verwendet PowerShell Referenzgleichheit, um eine Übereinstimmung zu ermitteln. Where-Object
gibt das Objekt nur zurück, wenn der Wert des Property-Parameters und ein beliebiger Wert von Value die gleiche Instanz eines Objekts sind.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | IIn |
Position: | Named |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Akzeptiere Platzhalterzeichen: | False |
Bestimmt die zu filternden Objekte. Sie können die Objekte auch über die Pipeline nach Where-Object
leiten.
Wenn Sie den InputObject-Parameter mit Where-Object
verwenden, wird der InputObject-Wert als ein einzelnes Objekt behandelt, anstatt die Befehlsergebnisse über die Pipeline nach Where-Object
zu leiten. Dies gilt selbst dann, wenn der Wert eine Auflistung ist, die das Ergebnis eines Befehls ist, wie z. B. -InputObject (Get-Process)
. Da InputObject keine einzelnen Eigenschaften aus einem Array oder einer Auflistung von Objekten zurückgeben kann, empfehlen wir, dass Sie Where-Object
in der Pipeline verwenden, wenn Sie eine Auflistung von Objekten nach jenen Objekten filtern, die bestimmte Werte in definierten Eigenschaften haben, wie in den Beispielen in diesem Thema gezeigt.
Typ: | PSObjekt |
Position: | Benannt |
Standardwert: | Keine |
Pipelineeingabe akzeptieren: | True |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftenwert eine Instanz des angegebenen .NETTyps ist. Schließen Sie den Typnamen in eckige Klammern ein.
Zum Beispiel Get-Process | where StartTime -Is
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert keine Instanz des angegebenen.NET-Typs ist.
Zum Beispiel Get-Process | where StartTime -IsNot
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftenwert kleiner oder gleich dem angegebenen Wert ist.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | ILE |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert mit einem Wert übereinstimmt, der Wildcardcharacters enthält.
Zum Beispiel: Get-Process | where ProcessName -Like "*host"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | ILike |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert kleiner als der angegebene Wert ist.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | ILT |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert mit dem angegebenen regularexpression übereinstimmt. Wenn die Eingabe skalar ist, wird der übereinstimmende Wert in der automatischen Variablen $Matches
gespeichert.
Beispiel: Get-Process | where ProcessName -Match "shell"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | IMatch |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert vom angegebenen Wert abweicht.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | INE |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn die Eigenschaft nicht vorhanden ist oder einen Wert von null oderfalse hat.
Zum Beispiel: Get-Service | where -Not "DependentServices"
Dieser Parameter wurde in Windows PowerShell 6.1 eingeführt.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte abruft, wenn keines der Elemente im Eigenschaftswert eine genaue Übereinstimmung mit dem angegebenen Wert ist.
Zum Beispiel: Get-Process | where ProcessName -NotContains "Svchost"
NotContains bezieht sich auf eine Auflistung von Werten und ist wahr, wenn die Auflistung keine Elemente enthält, die eine exakte Übereinstimmung mit dem angegebenen Wert sind. Wenn die Eingabe ein einzelnes Objekt ist, konvertiert PowerShell es in eine Auflistung eines Objekts.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | INotContains |
Position: | Benannt |
Standardwert: | Keine |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert keine genaue Übereinstimmung mit einem der angegebenen Werte ist.
Zum Beispiel: Get-Process | where -Value "svchost" -NotIn -Property ProcessName
Wenn der Wert von Value ein einzelnes Objekt ist, konvertiert PowerShell ihn in eine Auflistung eines Objekts.
Wenn der Eigenschaftswert eines Objekts ein Array ist, verwendet PowerShell Referenzgleichheit, um eine Übereinstimmung zu ermitteln. Where-Object
gibt das Objekt nur zurück, wenn der Wert von Property und ein beliebiger Wert vonValue nicht die gleiche Instanz eines Objekts sind.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | INotIn |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert nicht mit einem Wert übereinstimmt, der Wildcard-Zeichen enthält.
Zum Beispiel: Get-Process | where ProcessName -NotLike "*host"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | INotLike |
Position: | Benannt |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Accept wildcard characters: | False |
Gibt an, dass dieses Cmdlet Objekte erhält, wenn der Eigenschaftswert nicht mit dem angegebenen regularexpression übereinstimmt. Wenn die Eingabe skalar ist, wird der übereinstimmende Wert in der automatischen Variablen $Matches
gespeichert.
Beispiel: Get-Process | where ProcessName -NotMatch "PowerShell"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Aliases: | INotMatch |
Position: | Named |
Standardwert: | Keine |
Akzeptiere Pipeline-Eingabe: | False |
Akzeptiere Platzhalterzeichen: | False |
Bestimmt den Namen einer Objekteigenschaft. Der Parametername, Property, ist optional.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | String |
Position: | 0 |
Standardwert: | Keine |
Akzeptiere Pipelineeingabe: | False |
Accept wildcard characters: | False |
Spezifiziert einen Eigenschaftenwert. Der Parametername, Value, ist optional. Dieser Parameter akzeptiert Platzhalterzeichen, wenn er mit den folgenden Vergleichsparametern verwendet wird:
- Like
- CNotLike
- Like
- NotLike
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | Objekt |
Position: | 1 |
Standardwert: | Keine |
Pipelineeingabe akzeptieren: | False |
Accept wildcard characters: | True |
Inputs
PSObject
Sie können die Objekte über die Pipeline an dieses Cmdlet übergeben.
Outputs
Object
Dieses Cmdlet gibt ausgewählte Elemente aus der Eingabeobjektmenge zurück.
Hinweise
Beginnend mit Windows PowerShell 4.0 wurden die Methoden Where
und ForEach
zur Verwendung mit Auflistungen hinzugefügt.
Sie können mehr über diese neuen Methoden hier lesen about_arrays
- Compare-Object
- ForEach-Object
- Group-Object
- Measure-Object
- New-Object
- Select-Object
- Sort-Object
- Tee-Object