Freigeben über


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>]
     -CGE
     [<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>]
     -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>]
     -Match
     [<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 mit bestimmten Eigenschaftswerten aus der Auflistung von Objekten aus, die an das Cmdlet übergeben werden. Beispielsweise können Sie das Where-Object Cmdlet 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 Namen der Eigenschaft, einen Vergleichsoperator und einen Eigenschaftswert anzugeben. Where-Object gibt alle Objekte zurück, für die die Skriptblock-Anweisung true ist.

    Der folgende Befehl ruft beispielsweise Prozesse in der Prioritätsklasse Normal ab, d. h. Prozesse, bei denen der Wert der PriorityClass-Eigenschaft 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 about_Comparison_Operators.

  • Vergleichsanweisung. 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.

    Mit den folgenden Befehlen werden beispielsweise auch Prozesse abgerufen, die über die Prioritätsklasse Normal verfügen. 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 werden Vergleichsoperatoren als Parameter in einem Where-Object Befehl hinzugefügt. Sofern nicht anders angegeben, wird bei allen Operatoren die Groß-und Kleinschreibung nicht berücksichtigt. Vor Windows PowerShell 3.0 konnten die Vergleichsoperatoren in der PowerShell-Sprache nur in Skriptblöcken verwendet werden.

Wenn Sie eine einzelne Eigenschaft für Where-Objectangeben, wird der Wert der Eigenschaft als boolescher Ausdruck behandelt. Wenn der Wert von Length nicht 0 (null) ist, wird der Ausdruck zu True ausgewertet. Beispiel: ('hi', '', 'there') | Where-Object Length

Das vorherige Beispiel entspricht funktional folgendem Beispiel:

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

Beispiele

Beispiel 1: Abrufen beendeter Dienste

Mit diesen Befehlen wird eine Liste aller Dienste abgerufen, die derzeit beendet werden. Die $_ automatische Variable stellt jedes Objekt dar, das an das Where-Object Cmdlet übergeben wird.

Der erste Befehl verwendet das Skriptblockformat, der zweite Befehl das Format der Vergleichsanweisung. 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, deren Arbeitssatz größer als 250 Megabyte (KB) ist. Der Skriptblock und die Anweisungssyntax sind gleichwertig und können 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 rufen die Prozesse ab, die über einen ProcessName-Eigenschaftswert verfügen, der mit dem Buchstaben pbeginnt. Mit dem Match-Operator 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

In diesem Beispiel wird gezeigt, wie das neue Vergleichsanweisungsformat des Where-Object Cmdlets verwendet wird.

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 weggelassen.

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 das Skriptblock- als auch das Vergleichsanweisungsformat 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 mit Microsoft oder PS beginnen, und einen Wert für die HelpInfoURI-Eigenschaft haben, die PowerShell mitteilt, wo aktualisierte Hilfedateien für das Modul zu finden sind. Die Vergleichsanweisungen werden durch den logischen Operator And verbunden.

Im Beispiel wird das Skriptblock-Befehlsformat verwendet. Logische Operatoren wie And und Or sind nur in Skriptblöcken gültig. Sie können sie nicht im Vergleichsanweisungsformat eines Where-Object Befehls verwenden.

Parameter

-CContains

Gibt an, dass dieses Cmdlet Objekte aus einer Auflistung abruft, wenn der Eigenschaftswert des Objekts eine genaue Übereinstimmung mit dem angegebenen Wert ist. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

Beispiel: Get-Process | where ProcessName -CContains "svchost"

CContains bezieht sich auf eine Auflistung von Werten und ist true, wenn die Auflistung ein Element enthält, das eine genaue Übereinstimmung für den angegebenen Wert darstellt. Wenn es sich bei der Eingabe um ein einzelnes Objekt handelt, 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 mit dem angegebenen Wert übereinstimmt. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

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 abruft, wenn der Eigenschaftswert größer oder gleich dem angegebenen Wert ist. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

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 abruft, wenn der Eigenschaftswert größer als der angegebene Wert ist. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

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. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

Beispiel: Get-Process | where -Value "svchost" -CIn ProcessName

CIn ähnelt CContains, mit der Ausnahme, dass die Eigenschaften- 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. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

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 mit einem Wert übereinstimmt, der Wildcardzeichen enthält. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

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. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

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 mit dem angegebenen regulären Ausdruck übereinstimmt. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet. Wenn die Eingabe skalar ist, wird der übereinstimmene Wert in der $Matches 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 sich der Eigenschaftswert vom angegebenen Wert unterscheidet. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

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 mit dem angegebenen Wert ist. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

Beispiel: Get-Process | where ProcessName -CNotContains "svchost"

NotContains und CNotContains verweisen auf eine Auflistung von Werten und sind true, wenn die Auflistung keine Elemente enthält, die eine exakte Übereinstimmung mit dem angegebenen Wert sind. Wenn es sich bei der Eingabe um ein einzelnes Objekt handelt, 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 mit dem angegebenen Wert ist. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

Beispiel: Get-Process | where -Value "svchost" -CNotIn -Property ProcessName

NotIn - und CNotIn-Operatoren ähneln NotContains und CNotContains, mit der Ausnahme, 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. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

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 mit dem angegebenen regulären Ausdruck übereinstimmt. Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet. Wenn die Eingabe skalar ist, wird der übereinstimmene Wert in der $Matches 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 mit dem angegebenen Wert ist.

Beispiel: Get-Process | where ProcessName -Contains "Svchost"

Wenn der Eigenschaftswert ein einzelnes Objekt enthält, konvertiert PowerShell ihn 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 mit dem angegebenen Wert übereinstimmt.

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 geschweifte 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 abruft, 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 abruft, 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 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 eines Objekts.

Wenn der Eigenschaftswert eines Objekts ein Array ist, verwendet PowerShell die Verweisgleichheit, um eine Übereinstimmung zu bestimmen. Where-Objectgibt das -Objekt nur zurück, wenn der Wert des Property-Parameters und beliebiger Wert von Value die gleichen instance 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 die -Objekte auch an übergeben Where-Object.

Wenn Sie den InputObject-Parameter mit Where-Objectverwenden, anstatt Befehlsergebnisse an zu Where-Objectleiten, wird der InputObject-Wert als einzelnes Objekt behandelt. Dies gilt auch, wenn der Wert eine Auflistung ist, die das Ergebnis eines Befehls ist, z -InputObject (Get-Process). B. . Da InputObject keine einzelnen Eigenschaften aus einem Array oder einer Auflistung von Objekten zurückgeben kann, wird empfohlen, dass Sie, wie in den Beispielen in diesem Thema gezeigt, in der Pipeline verwendenWhere-Object, wenn Sie Where-Object verwenden, um eine Auflistung von Objekten nach Objekten zu filtern, die bestimmte Werte in definierten Eigenschaften aufweisen.

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 ein instance 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 kein instance 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 abruft, 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 mit einem Wert übereinstimmt, 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 mit dem angegebenen regulären Ausdruck übereinstimmt. Wenn die Eingabe skalar ist, wird der übereinstimmene Wert in der $Matches 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 sich der Eigenschaftswert vom angegebenen Wert unterscheidet.

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 den Wert NULL oder FALSE aufweist.

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 keines der Elemente im Eigenschaftswert eine genaue Übereinstimmung mit dem angegebenen Wert ist.

Beispiel: Get-Process | where ProcessName -NotContains "Svchost"

NotContains bezieht sich auf eine Auflistung von Werten und ist true, wenn die Auflistung keine Elemente enthält, die eine genaue Übereinstimmung für den angegebenen Wert sind. Wenn es sich bei der Eingabe um ein einzelnes Objekt handelt, 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 mit einem der angegebenen Werte ist.

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 die Verweisgleichheit, um eine Übereinstimmung zu bestimmen. Where-Objectgibt das -Objekt nur zurück, wenn der Wert von Property und ein beliebiger Wert von Value nicht die gleichen instance 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 abruft, wenn der Eigenschaftswert nicht mit dem angegebenen regulären Ausdruck übereinstimmt. Wenn die Eingabe skalar ist, wird der übereinstimmene Wert in der $Matches 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 Property 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 Bei Verwendung mit den folgenden Vergleichsparametern werden Wildcardzeichen akzeptiert:

  • 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

PSObject

Sie können die Objekte an dieses Cmdlet übergeben.

Ausgaben

Object

Dieses Cmdlet gibt ausgewählte Elemente aus dem Eingabeobjektsatz zurück.

Hinweise

Ab Windows PowerShell 4.0 WhereForEach wurden Methoden zur Verwendung mit Auflistungen hinzugefügt.

Weitere Informationen zu diesen neuen Methoden finden Sie hier about_arrays