PowerShell Wo-Object-Klausel

PowerShell Wo-Object-Klausel
Die Where-Objekt-Klausel in PowerShell filtert den Inhalt gemäß einem bestimmten Wert der Eigenschaft eines Objekts. Die Klausel zur Where-Objekt kann auch mit jedem CMDLET/einer bestimmten Funktion verwendet werden, um einen bestimmten Eigenschaftswert eines Objekts abzuzeigen. Dieser Artikel liefert eine kurze Demonstration der Where-Object-Klausel in PowerShell. Nachdem Sie diesem Leitfaden folgen, können Sie in der Lage sein, bei den Klauseln des Objekts gut zu praktizieren. Beginnen wir also mit diesem Leitfaden.

Wie die Klausel überfliegt

Wie bereits erwähnt, kann die Klausel zur Where-Objekt-Klausel mit jedem CMDLet/einer Funktion zugeordnet werden. Die Klausel zur Where-Objekt folgt zwei Formatierungskriterien, um die Aktion auszuführen. Sie können eine der unten erwähnten übernehmen.

Die erste Syntax führt die WHER-Objekt-Klausel in einem Skriptblockformat aus, während die zweite Syntax die Aktion mithilfe einer Vergleichserklärung ausführt.

Notiz: Der Skriptblock umfasst mehrere Ausdrücke/Anweisungen, um die Aktion als einzelne Einheit auszuführen (in Klammern eingeschlossen). Die Vergleichserklärung ist jedoch in normalem Englisch geschrieben.

Skript-Blocksyntax: Wo-Object $ _. ""
Vergleichserklärung Syntax: Wo-Objekt "" "

Es wird beobachtet, dass die grundlegenden Begriffe in beiden Syntaxen gleich sind und unten definiert sind:

: Dies bezieht sich auf den Eigenschaftsnamen der Objektsammlung.

: Wo-Objekt unterstützt mehrere Parameter, die die Beziehung zwischen Eigenschaft und Wert schließen.

: Diese Option bezieht sich auf den Wert der Eigenschaft.

Unter diesen Syntaxfällen sind die Parameter der Hauptbestandteil. Schauen wir uns also einen kurzen Blick auf die Parameter, die in der Klausel "Where-Object" verwendet werden können.

Parameter, die durch die Klausel auf der Where-Objekt unterstützt werden

Die Parameter, die durch die Where-Object-Klausel gestützt werden, sind hauptsächlich die Vergleichsoperatoren und sind nachstehend definiert:

  • EQ: Gibt die Sammlung von Objekten zurück, die dem angegebenen Wert im Befehl entsprechen.
  • NE: Dieser Parameter zeigt die Objekte, die nicht mit dem Wert übereinstimmen.
  • LT: Diese Objekte werden gedruckt, die die weniger als Bedingung erfüllen.
  • LE: Überprüft die Sammlung für weniger als oder gleichbedeutend mit Bedingung.
  • GT: Sucht nach Objekten, die größer sind als der angegebene Wert.
  • GE: Der größere oder gleiche Operator vergleicht die Objektwerte für den angegebenen Wert.
  • Nicht: Dies bezieht sich auf die Eigenschaft, die nicht existiert, oder der Wert ist null.
  • Match: Dieser Ausdruck entspricht dem regulären Ausdruck.

So verwenden Sie PowerShell Where-Object-Klausel

Dieser Abschnitt praktiziert die Verwendung der Where-Object-Klausel in PowerShell. Mehrere Beispiele werden zitiert, um die Nachricht verständlich zu vermitteln.

Beispiel 1: Verwenden Sie die Klausel zur Where-Objekt-Klausel zum Get-Command-CMDLet

Das Get-Command CMDLet listet alle Alias, CMDlets, Funktionen von PowerShell auf. Nehmen wir an, wir wollen das bekommen Funktion durch diesen Befehl bereitgestellt. Dazu wird der Befehl mit den folgenden Eigenschaften in der PowerShell -Konsole ausgeführt:

  • Erstens wird das Treffen mit der Where-Object-Klausel geschlagen
  • Dann ein Vergleichsbetreiber (-Gl) wird verwendet, um die zu finden Commandtype(Eigenschaft) Werte gleich Funktion.

Folglich druckt der Befehl die gewünschten Werte, die die oben genannte Bedingung erfüllen.

> Get-Command | Wo -Object CommandType -eq -Funktion

Es wird beobachtet, dass der Befehl in einem Vergleichsanweisungsformat ausgeführt wird. Darüber hinaus kann der gleiche Befehl auf folgende Weise mit der Skriptblocksyntax ausgeführt werden.

> Get-Command | Wo-objekt $ _.Commandtype -eq "Funktion"

Beispiel 2: Verwenden Sie die Klausel zur Where-Objekt-Klausel zum Get-Process-CMDLet

Führen wir die Klausel zur Where-Objekt auf dem Get-Process-CMDLet durch. Das Get-Process-CMDLet druckt die Prozesse des Systems. Der unten angegebene Befehl druckt nur die Prozesse, die vorhanden sind Prozessname gleich Chrom. Zu diesem Zeitpunkt wird der Parameter -EQ verwendet, der Eigenschaftsname ist Prozessname und der Wert der Eigenschaft ist Chrom. Nach der Formatierung ist der Befehl unten geschrieben:

> Get-Process | Wo -Objekt -Prozessname -eq Chrom

Der Befehl äquivalenter Skriptblock ist unten geschrieben. Beide Befehle erzeugen die gleiche Ausgabe, aber die Syntax ist unterschiedlich.

> Get-Process | Wo-objekt $ _.ProcessName -eq "Chrome"

Beispiel 3: Verwenden Sie die Klausel mit der Where-Objekt-Klausel mit Get-Service-CMDLet

Das Get-Service-CMDLet druckt die Dienste Ihres Windows-Computers in der Shell aus. Sie können den Status der Dienste mit der Where-Object-Klasse abrufen. Wenn beispielsweise eine Liste von nur gestoppten Diensten erforderlich ist, wird das Where-Objekt auf folgende Weise verwendet.

> Get-Service | Wo -Objektstatus -eq wurde gestoppt

Abschluss

Die Where-Object-Klausel in PowerShell ermöglicht die Berücksichtigung von Objekten, die den angegebenen Zustand erfüllen. Zu diesem Zweck werden die Vergleichsbetreiber verwendet, um die Objekte zu erhalten, die den Werten einer Eigenschaft entsprechen. In dieser Demonstration werden der Arbeitsmechanismus und die Verwendung der Where-Object-Klausel ausführlich erörtert. Die Hauptfunktionalität der Where-Object-Klausel hängt von den Vergleichsparametern ab. Diese Operatoren überprüfen die Werte der Objekte und vergleichen sie mit den angegebenen Werten. Darüber hinaus finden Sie auch eine detaillierte Beschreibung jedes Parameters, der mit der Klausel über die Where-Objekt verwendet werden kann.