Where-Object
Wählt Objekte aus einer Auflistung basierend auf ihren Eigenschaftswerten aus.
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>]
Beschreibung
Das Where-Object
Cmdlet wählt Objekte aus, die bestimmte Eigenschaftenwerte aus der Auflistung von Objekten haben, die an sie übergeben werden. Sie können beispielsweise das Where-Object
Cmdlet verwenden, um Dateien auszuwählen, die nach einem bestimmten Datum erstellt wurden, Ereignisse mit einer bestimmten ID oder Computern, die eine bestimmte Version von Windows verwenden.
Ab Windows PowerShell 3.0 gibt es zwei verschiedene Möglichkeiten zum Erstellen eines Where-Object
Befehls.
Skriptblock. Sie können einen Skriptblock verwenden, um den Namen der Eigenschaft, einen Vergleichsoperator und einen Eigenschaftswert anzugeben.
Where-Object
Gibt alle Objekte zurück, für die die Skriptblock-Anweisung wahr ist.Der folgende Befehl ruft beispielsweise Prozesse in der Prioritätsklasse ab, also Prozesse, bei denen
Normal
der Wert der PriorityClass-Eigenschaft gleich istNormal
.Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
Alle PowerShell-Vergleichsoperatoren sind im Skriptblockformat gültig. Weitere Informationen finden Sie unter about_Comparison_Operators.
Vergleichsausweisung. Sie können auch eine Vergleichsanweisung schreiben, was der natürlichen Sprache sehr viel ähnlicher ist. Vergleichsanweisungen wurden in Windows PowerShell 3.0 eingeführt.
Beispielsweise erhalten die folgenden Befehle auch Prozesse, die eine Prioritätsklasse von
Normal
. Diese Befehle sind gleichwertig und austauschbar.Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"
Get-Process | Where-Object PriorityClass -eq "Normal"
Ab Windows PowerShell 3.0
Where-Object
fügt Vergleichsoperatoren als Parameter in einemWhere-Object
Befehl hinzu. Sofern nicht anders angegeben, wird bei allen Operatoren die Groß-und Kleinschreibung nicht berücksichtigt. Vor Windows PowerShell 3.0 können die Vergleichsoperatoren in der PowerShell-Sprache nur in Skriptblöcken verwendet werden.
Wenn Sie eine einzelne Eigenschaft angeben, wird der Wert der EigenschaftWhere-Object
als boolescher Ausdruck behandelt. Wenn der Wert der Länge nicht null ist, wird der Ausdruck ausgewertet.$true
Beispiel: ('hi', '', 'there') | Where-Object Length
Das vorherige Beispiel entspricht funktionell folgendem Beispiel:
('hi', '', 'there') | Where-Object Length -GT 0
('hi', '', 'there') | Where-Object {$_.Length -gt 0}
Weitere Informationen dazu, wie Booleans ausgewertet werden, finden Sie unter about_Booleans.
Beispiele
Beispiel 1: Dienste abrufen
Diese Befehle erhalten eine Liste aller Derzeit beendeten Dienste. Die $_
automatische Variable stellt jedes Objekt dar, das an das Where-Object
Cmdlet übergeben wird.
Der erste Befehl verwendet das Skriptblockformat, der zweite Befehl verwendet das Vergleichsanweisungsformat. Diese Befehle sind gleichwertig und austauschbar.
Get-Service | Where-Object {$_.Status -eq "Stopped"}
Get-Service | where Status -eq "Stopped"
Beispiel 2: Abrufen von Prozessen basierend auf Arbeitssatz
Diese Befehle listen Prozesse auf, die über einen Arbeitssatz mit mehr als 250 Mb (MB) verfügen. Die Skriptblock- und Anweisungssyntax entspricht und kann austauschbar verwendet werden.
Get-Process | Where-Object {$_.WorkingSet -GT 250MB}
Get-Process | Where-Object WorkingSet -GT (250MB)
Beispiel 3: Abrufen von Prozessen basierend auf dem Prozessnamen
Diese Befehle erhalten die Prozesse, die über einen ProcessName-Eigenschaftswert verfügen, der mit dem Buchstaben p
beginnt. Mit dem Operator "Übereinstimmung " können Sie reguläre Ausdrucksgleiche verwenden.
Die Skriptblock- und Anweisungssyntax entspricht und kann austauschbar verwendet werden.
Get-Process | Where-Object {$_.ProcessName -Match "^p.*"}
Get-Process | Where-Object ProcessName -Match "^p.*"
Beispiel 4: Verwenden des Vergleichsausweisungsformats
In diesem Beispiel wird gezeigt, wie Sie das neue Vergleichsausweisungsformat des Where-Object
Cmdlets verwenden.
Der erste Befehl verwendet das Vergleichsanweisungsformat. In diesem Befehl werden keine Aliase verwendet, und alle Parameter enthalten den Parameternamen.
Der zweite Befehl stellt eine natürlichere Verwendung des Vergleichsbefehlsformats dar. Der where
Alias wird durch den Where-Object
Cmdletnamen ersetzt, und alle optionalen Parameternamen werden nicht angegeben.
Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000
Beispiel 5: Abrufen von Befehlen basierend auf Eigenschaften
In diesem Beispiel wird veranschaulicht, wie Sie Befehle schreiben können, mit denen Elemente zurückgegeben werden, die „true“ oder „false“ sind oder die einen beliebigen Wert für eine angegebene Eigenschaft aufweisen. 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 OutputType
Get-Command | where {$_.OutputType}
# Use Where-Object to get objects that are containers.
# This gets objects that have the **PSIsContainer** property with a value of $True and excludes all
# others.
Get-ChildItem | where PSIsContainer
Get-ChildItem | where {$_.PSIsContainer}
# Finally, use the Not operator (!) to get objects that are not containers.
# This gets objects that do have the **PSIsContainer** property and those that have a value of
# $False for the **PSIsContainer** property.
Get-ChildItem | where {!$_.PSIsContainer}
# You cannot use the Not operator (!) in the comparison statement format of the command.
Get-ChildItem | where PSIsContainer -eq $False
Beispiel 6: Verwenden mehrerer Bedingungen
Get-Module -ListAvailable | where {
($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}
In diesem Beispiel wird gezeigt, wie Sie einen Where-Object
Befehl mit mehreren Bedingungen erstellen.
Dieser Befehl ruft Nicht-Kern-Module ab, die die aktualisierbare Hilfefunktion unterstützen. Der Befehl verwendet den ListAvailable-Parameter des Get-Module
Cmdlets, um alle Module auf dem Computer abzurufen. Ein Pipelineoperator (|
) sendet die Module an das Where-Object
Cmdlet, das Module abruft, deren Namen nicht beginnen Microsoft
oder PS
, und haben einen Wert für die HelpInfoURI-Eigenschaft , die PowerShell angibt, wo aktualisierte Hilfedateien für das Modul gefunden werden sollen. Die Vergleichsanweisungen werden vom Logischen Operator And verbunden.
Im Beispiel wird das Skriptblock-Befehlsformat verwendet. Logische Operatoren, z. B. "And " und "Or", sind nur in Skriptblöcken gültig. Sie können sie nicht im Vergleichs-Anweisungsformat eines Where-Object
Befehls verwenden.
- Weitere Informationen zu logischen PowerShell-Operatoren finden Sie unter about_Logical_Operators.
- Weitere Informationen zum Feature "Updatable Help" finden Sie unter about_Updatable_Help.
Parameter
-CContains
Gibt an, dass dieses Cmdlet Objekte aus einer Auflistung abruft, wenn der Eigenschaftswert des Objekts eine genaue Übereinstimmung für den angegebenen Wert ist. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Beispiel: Get-Process | where ProcessName -CContains "svchost"
CContains bezieht sich auf eine Auflistung von Werten und ist wahr, wenn die Auflistung ein Element enthält, das eine genaue Übereinstimmung für den angegebenen Wert darstellt. Wenn die Eingabe ein einzelnes Objekt ist, konvertiert PowerShell sie in eine Auflistung eines Objekts.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CEQ
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert dem angegebenen Wert entspricht. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGE
Gibt an, dass dieses Cmdlet Objekte ruft, wenn der Eigenschaftswert größer oder gleich dem angegebenen Wert ist. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGT
Gibt an, dass dieses Cmdlet Objekte ruft, wenn der Eigenschaftswert größer als der angegebene Wert ist. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CIn
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert den angegebenen Wert enthält. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Beispiel: Get-Process | where -Value "svchost" -CIn ProcessName
CIn ähnelt CContains, außer dass die Eigenschafts- und Wertpositionen umgekehrt werden. Die folgenden Anweisungen sind z. B. beide „true“.
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLE
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert kleiner oder gleich dem angegebenen Wert ist. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLike
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert einem Wert entspricht, der Wildcardzeichen (*
) enthält. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Beispiel: Get-Process | where ProcessName -CLike "*host"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLT
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert kleiner als der angegebene Wert ist. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CMatch
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert dem angegebenen regulären Ausdruck entspricht. Dieser Vorgang ist groß- und kleinschreibungsgeschützt. Wenn die Eingabe skalar ist, wird der übereinstimmene Wert in $Matches
der automatischen Variablen gespeichert.
Beispiel: Get-Process | where ProcessName -CMatch "Shell"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNE
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert anders als der angegebene Wert ist. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotContains
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert des Objekts keine genaue Übereinstimmung für den angegebenen Wert ist. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Beispiel: Get-Process | where ProcessName -CNotContains "svchost"
NotContains und CNotContains verweisen auf eine Auflistung von Werten und sind wahr, wenn die Auflistung keine Elemente enthält, die eine genaue Übereinstimmung für den angegebenen Wert sind. Wenn die Eingabe ein einzelnes Objekt ist, konvertiert PowerShell sie in eine Auflistung eines Objekts.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotIn
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert keine genaue Übereinstimmung für den angegebenen Wert ist. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Beispiel: Get-Process | where -Value "svchost" -CNotIn -Property ProcessName
NotIn- und CNotIn-Operatoren ähneln NotContains und CNotContains, außer dass die Eigenschaften- und Wertpositionen umgekehrt werden. Die folgenden Anweisungen sind z. B. „true“.
"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
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert nicht mit einem Wert übereinstimmt, der Wildcardzeichen enthält. Dieser Vorgang ist groß- und kleinschreibungsgeschützt.
Beispiel: Get-Process | where ProcessName -CNotLike "*host"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotMatch
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert nicht dem angegebenen regulären Ausdruck entspricht. Dieser Vorgang ist groß- und kleinschreibungsgeschützt. Wenn die Eingabe skalar ist, wird der übereinstimmene Wert in $Matches
der automatischen Variablen gespeichert.
Beispiel: Get-Process | where ProcessName -CNotMatch "Shell"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Contains
Gibt an, dass dieses Cmdlet Objekte abruft, wenn ein Element im Eigenschaftswert des Objekts eine genaue Übereinstimmung für den angegebenen Wert ist.
Beispiel: Get-Process | where ProcessName -Contains "Svchost"
Wenn der Eigenschaftswert ein einzelnes Objekt enthält, konvertiert PowerShell sie in eine Auflistung eines Objekts.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | IContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EQ
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert dem angegebenen Wert entspricht.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | IEQ |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterScript
Gibt den Skriptblock an, der zum Filtern der Objekte verwendet wird. Schließen Sie den Skriptblock in Klammern ({}
) ein.
Der Parametername, FilterScript, ist optional.
Type: | ScriptBlock |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GE
Gibt an, dass dieses Cmdlet Objekte ruft, wenn der Eigenschaftswert größer oder gleich dem angegebenen Wert ist.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | IGE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GT
Gibt an, dass dieses Cmdlet Objekte ruft, wenn der Eigenschaftswert größer als der angegebene Wert ist.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | IGT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-In
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert einem der angegebenen Werte entspricht. Beispiel:
Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
Wenn der Wert des Value-Parameters ein einzelnes Objekt ist, konvertiert PowerShell sie in eine Auflistung eines Objekts.
Wenn der Eigenschaftswert eines Objekts ein Array ist, verwendet PowerShell die Referenzgleichheit, um eine Übereinstimmung zu ermitteln. Where-Object
gibt das Objekt nur zurück, wenn der Wert des Eigenschaftsparameters und jeder Wert von Value die gleiche Instanz eines Objekts sind.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | IIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Gibt das zu filternde Objekt an. Sie können auch die Objekte an Where-Object
die Objekte verleitungen.
Wenn Sie den InputObject-Parameter mit Where-Object
, anstelle von Pipingbefehlsergebnissen, Where-Object
verwenden, wird der InputObject-Wert als einzelnes Objekt behandelt. Dies gilt auch dann, wenn der Wert eine Auflistung ist, die das Ergebnis eines Befehls ist, z -InputObject (Get-Process)
. B. . Da InputObject einzelne Eigenschaften aus einem Array oder einer Auflistung von Objekten nicht zurückgeben kann, empfehlen wir, dass Sie Where-Object
eine Auflistung von Objekten für diese Objekte filtern, die bestimmte Werte in definierten Eigenschaften aufweisen, wie Where-Object
in den Beispielen in diesem Thema dargestellt.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Is
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert eine Instanz des angegebenen .NET-Typs ist. Schließen Sie den Typnamen in eckige Klammern ein.
Zum Beispiel, Get-Process | where StartTime -Is [DateTime]
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IsNot
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert keine Instanz des angegebenen .NET-Typs ist.
Zum Beispiel, Get-Process | where StartTime -IsNot [DateTime]
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LE
Gibt an, dass dieses Cmdlet Objekte ruft, wenn der Eigenschaftswert kleiner oder gleich dem angegebenen Wert ist.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | ILE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Like
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert einem Wert entspricht, der Wildcardzeichen (*
) enthält.
Beispiel: Get-Process | where ProcessName -Like "*host"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | ILike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LT
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert kleiner als der angegebene Wert ist.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | ILT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Match
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert dem angegebenen regulären Ausdruck entspricht. Wenn die Eingabe skalar ist, wird der übereinstimmene Wert in $Matches
der automatischen Variablen gespeichert.
Beispiel: Get-Process | where ProcessName -Match "shell"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | IMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NE
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert anders als der angegebene Wert ist.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | INE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Not
Gibt an, dass dieses Cmdlet Objekte abruft, wenn die Eigenschaft nicht vorhanden ist oder über einen Wert oder $null
$false
einen Wert verfügt.
Beispiel: Get-Service | where -Not "DependentServices"
Dieser Parameter wurde in Windows PowerShell 6.1 eingeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotContains
Gibt an, dass dieses Cmdlet Objekte abruft, wenn keine der Elemente im Eigenschaftswert eine genaue Übereinstimmung für den angegebenen Wert darstellt.
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 genaue Übereinstimmung für den angegebenen Wert sind. Wenn die Eingabe ein einzelnes Objekt ist, konvertiert PowerShell sie in eine Auflistung eines Objekts.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | INotContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotIn
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert keine genaue Übereinstimmung für einen der angegebenen Werte ist.
Beispiel: Get-Process | where -Value "svchost" -NotIn -Property ProcessName
Wenn der Wert ein einzelnes Objekt ist, konvertiert PowerShell sie in eine Auflistung eines Objekts.
Wenn der Eigenschaftswert eines Objekts ein Array ist, verwendet PowerShell die Referenzgleichheit, um eine Übereinstimmung zu ermitteln. Where-Object
gibt das Objekt nur zurück, wenn der Wert der Eigenschaft und jeder Wert von Value nicht die gleiche Instanz eines Objekts sind.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | INotIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotLike
Gibt an, dass dieses Cmdlet Objekte abruft, wenn der Eigenschaftswert nicht mit einem Wert übereinstimmt, der Wildcardzeichen (*
) enthält.
Beispiel: Get-Process | where ProcessName -NotLike "*host"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | INotLike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotMatch
Gibt an, dass dieses Cmdlet Objekte ruft, wenn der Eigenschaftswert nicht mit dem angegebenen regulären Ausdruck übereinstimmt. Wenn die Eingabe skalar ist, wird der übereinstimmene Wert in $Matches
der automatischen Variablen gespeichert.
Beispiel: Get-Process | where ProcessName -NotMatch "PowerShell"
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | SwitchParameter |
Aliases: | INotMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Gibt den Namen einer Objekteigenschaft an. Der Parametername, Eigenschaft, ist optional.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Gibt einen Eigenschaftswert an. Der Parametername, Value, ist optional. Dieser Parameter akzeptiert Wildcardzeichen bei Verwendung mit den folgenden Vergleichsparametern:
- CLike
- CNotLike
- Mögen
- NotLike
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | Object |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Eingaben
Sie können die Objekte an dieses Cmdlet weiterleiten.
Ausgaben
Object
Dieses Cmdlet gibt ausgewählte Elemente aus dem Eingabeobjektsatz zurück.
Hinweise
Ab Windows PowerShell 4.0 Where
ForEach
wurden Methoden für die Verwendung mit Sammlungen hinzugefügt.
Weitere Informationen zu diesen Methoden finden Sie hier about_arrays