Erstellt einen Filter, der steuert, welche Objekte über eine Befehlspipeline übergeben werden. (Where-Object)
NAME
Where-Object
# ÜBERSICHT
Erstellt einen Filter, der steuert, welche Objekte über eine Befehlspipeline übergeben werden.
# SYNTAX
Where-Object [-FilterScript] <scriptblock> [-InputObject <psobject>] [<CommonParameters>]
# BESCHREIBUNG
Das Cmdlet "Where-Object" wählt Objekte aus dem Satz von Objekten aus, die an das Cmdlet übergeben werden. Es verwendet einen Skriptblock als Filter und wertet den Skriptblock für jedes Objekt aus. Wenn das Ergebnis der Auswertung "True" ist, wird das Objekt zurückgegeben. Wenn das Ergebnis der Auswertung nicht "True" ist, wird das Objekt ignoriert.
# PARAMETER
-FilterScript <scriptblock>
Gibt den Skriptblock an, der zum Filtern der Objekte verwendet wird. Schließen Sie den Skriptblock in geschweifte Klammern ({}) ein.
Erforderlich? true
Position? 1
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-InputObject <psobject>
Gibt die zu filternden Objekte an. Sie können die Objekte auch über die Pipeline an Where-Object übergeben.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?true (ByValue)
Platzhalterzeichen akzeptieren?false
<CommonParameters>
Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug",
"ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable",
"OutBuffer" und "OutVariable". Weitere Informationen
erhalten Sie mit dem Befehl "get-help about_commonparameters".
# EINGABEN
System.Management.Automation.PSObject
Sie können die zu filternden Objekte über die Pipeline an Where-Object übergeben.
# AUSGABEN
# HINWEISE
# BEISPIEL 1
C:\PS>get-service | where-object {$_.Status -eq "Stopped"}
Beschreibung
-----------
Mit diesem Befehl wird eine Liste aller Dienste abgerufen, die derzeit beendet sind. Das Symbol "$" stellt jedes Objekt dar, das an das Cmdlet "Where-Object" übergeben wird.
# BEISPIEL 2
C:\PS>get-process | where-object {$_.workingset -gt 25000*1024}
Beschreibung
-----------
Mit diesem Befehl werden alle Prozesse mit einem Workingset aufgelistet, dessen Größe 25.000 Kilobytes (KB) übersteigt. Der Wert der Workingset-Eigenschaft wird in Bytes gespeichert. Daher wird der Wert 25.000 mit 1.024 multipliziert.
# BEISPIEL 3
C:\PS>get-process | where-object { $_.ProcessName -match "^p.*" }
Beschreibung
-----------
Mit diesem Befehl werden die Prozesse mit einer ProcessName-Eigenschaft abgerufen, die mit dem Buchstaben "p" beginnt. Der match-Operator ermöglicht es Ihnen, reguläre Ausdrücke innerhalb einer Where-Klausel zu verwenden.
# BEISPIEL 4
C:\PS>get-process -name svchost | where-object {$True}
Beschreibung
-----------
Mit diesem Befehl werden alle Prozesse mit dem Namen "svchost" aufgelistet.
Mit dem Cmdlet "Where-Object" wird der Skriptblock ausgewertet, der i. d. R. einen Verweis auf das derzeit in der Pipeline enthaltene Objekt ("$_") enthält, und die Ergebnisse werden in einen booleschen Typ umgewandelt: "True" oder "False". Wenn das Ergebnis "True" ist, wird das Objekt zurückgegeben. Andernfalls wird es verworfen.
In diesem Fall wird vom Skriptblock ausschließlich "True" zurückgegeben, sodass alle Objekte zurückgegeben werden.
VERWANDTE LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113423 (möglicherweise auf Englisch)
C:\Windows>powershell get-help Set-PSDebug -full
ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.