Erstellt einen Filter, der steuert, welche Objekte über eine Befehlspipeline übergeben werden. (Where-Object)
NAMEWhere-ObjectÜBERSICHTErstellt einen Filter, der steuert, welche Objekte über eine Befehlspipeline übergeben werden.SYNTAXWhere-Object [-FilterScript] <scriptblock> [-InputObject <psobject>] [<CommonParameters>]BESCHREIBUNGDas 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".EINGABENSystem.Management.Automation.PSObject Sie können die zu filternden Objekte über die Pipeline an Where-Object übergeben.AUSGABENHINWEISEBeispiele
BEISPIEL 1C:\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 2C:\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 3C:\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 4C:\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
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export