In Powershell, die “Wo-objekt”CMDLET wird verwendet, um die Objekte oder Werte eines Objekts herauszufiltern. Der Where-Object-Filter umfasst einzelne oder mehrere Bedingungen. Mit dem Mehrkonditionsfilter können Sie die Elemente herausfiltern und nur einige zurückgeben, die diesen Bedingungen entsprechen.
Wenn Sie sich anwenden, wird empfohlen, es mit anderen PowerShell-CMDlets zu leiten. Darüber hinaus können mehrere Bedingungen mithilfe von Skriptblöcken, verschiedenen Operatoren usw. definiert werden.
Dieser Beitrag zeigt die Arbeit und Verwendung mehrerer Bedingungen in PowerShell Where-Object.
So verwenden Sie mehrere Bedingungen in PowerShell "WO-ABJECT"?
PowerShell bietet die folgenden drei Möglichkeiten, um mehrere Bedingungen in PowerShell zu verwenden:
Methode 1: Verwenden Sie mehrere Bedingungen in PowerShell „Where-Object“ mit Skriptblöcken und Gleichstellungsoperatoren
Ein Skriptblock umfasst eine Reihe mehrerer Aussagen, die in lockigen Klammern eingeschlossen sind. Diese Arten von Blöcken können mit dem Cmdlet mit dem "Where-Object" verbunden werden-FilterskriptParameter.
Beispiel
Im folgenden Beispiel werden wir Gleichstellungsoperatoren mit Skriptblöcken ausüben, um mehrere Bedingungen in PowerShell zu verwenden.
Lassen Sie uns verstehen, wie ein Skriptblock mit der unten erwähnten Syntax erstellt wird:
> $ _.PropertyName -Matching -Parameter
In der obigen Syntax die “$ _.Ist das Symbol, das verwendet wird, um eine Eigenschaft zu beziehen. Die Eigenschaft und deren Wert (zu durchsuchten) werden mit einem beliebigen Gleichstellungsbetreiber (-Gt, -ge, -lt, -le, -eq) verbunden.
Hier werden wir einen Skriptblock verwenden, um die Prozesse basierend auf der CPU-Verwendung des Prozesses und des NPM zu filtern (nicht veranstalteter Speicher, der von einem Prozess verwendet wird). Die Prozesse, die die folgenden Bedingungen erfüllen, werden mit dem Skriptblock gefiltert:
> Get-Process | Wo -Object -Filterscript ($ _.Npm -lt 30) -und ($ _.CPU -GT 300)
Die Ausgabe zeigt, dass nur die Prozesse, die NPM größer sind als
Methode 2: Verwenden Sie mehrere Bedingungen in PowerShell „Where-Object“ mit Skriptblöcken und Containment-Operatoren
Containment -Operatoren sind die Arten von Vergleichsbetreibern. Diese Operatoren sind im Vergleich zu den Skriptblöcken in PowerShell leicht zu verstehen und zu lesen.
Die Liste der Containment -Operatoren und deren geeigneten Beschreibungen ist in der folgenden Tabelle aufgeführt:
Operator | Beschreibung |
---|---|
"-Containes" | Der Wert auf der rechten Seite des Bedieners ist auf der Wertegruppe auf der linken Seite vorhanden. |
"-Ccontaines" | Der rechte Operand ist in der Gruppe von Werten vorhanden, die rechts vorhanden sind. Die -ccontains sind fallsempfindlich. |
"-Notcontaines" | Der Wert auf der rechten Seite des Bedieners ist auf der linken Seite nicht vorhanden. |
"-Cnotcontains" | Dieser Betreiber arbeitet genauso wie die der -notierenden, jedoch mit Fallempfindlichkeit. |
Beispiel
> Get-Service | Wo-objekt ($ _.StartType -in 'Handbuch') -und ($ _.Status -NotiertContains 'Running')
Nach dem obigen Code:
Methode 3: Verwenden Sie mehrere Bedingungen in PowerShell „Where-Object“ unter Verwendung von Gleichheit und passenden Operatoren
Übereinstimmende Operatoren werden verwendet, um einem bestimmten Zustand oder einem bestimmten Elementmuster zu entsprechen. Diese Betreiber umfassen “-Match "," -notmatch "," -like "und" -notlike "”.
Beispiel
Dieser Befehl enthält mehrere Bedingungen, die auf Gleichheit und passenden Operatoren basieren:
> Get-Command | Wo-objekt ($ _.Commandtype -eq 'cmdlet') -und ($ _.Name -Like '*Import*')
Nach diesem Beispiel:
Es ging darum, mehrere Bedingungen in PowerShell zu verwenden.
Abschluss
Mehrere Bedingungen sind diejenigen, bei denen mehr als zwei Aussagen oder Bedingungen definiert sind. Diese Bedingungen werden in PowerShell verwendet “Wo-objektMit der Kombination von Skriptblöcken und Vergleichsanweisungen. Dieser Beitrag hat einen vollständigen Leitfaden zur Verwendung mehrerer Bedingungen in PowerShell bereitgestellt.