Hallo zusammen

Willkommen bei CloudAffaire und das ist Debjeet.

Im letzten Blogbeitrag haben wir das Cmdlet Sort-Object in PowerShell besprochen.

PowerShell Sort-Object Cmdlet

In diesem Blogbeitrag werden wir das Cmdlet Where-Object in PowerShell besprechen. Mit dem Cmdlet „Where-Object“ können Sie Objekte in PowerShell nach bestimmten Kriterien filtern. Sie müssen den Eigenschaftsnamen und die Bedingung für die Filterung definieren, wobei das Objekt die Objekte zurückgibt, die die Bedingung erfüllen. Nehmen Sie beispielsweise an, dass Sie Dienste abrufen möchten, die angehalten sind. Sie können den Befehl Get-Service | Where-Object Status -eq Stopped verwenden, um alle gestoppten Dienste abzurufen. Die Bedingung im Cmdlet „Where-Object“ kann auf zwei Arten angegeben werden. Sie können einen Skriptblock verwenden, um den Eigenschaftsnamen, einen Vergleichsoperator und einen Eigenschaftswert anzugeben. Where-Object gibt alle Objekte zurück, für die die Skriptblockanweisung wahr ist. Sie können auch eine Vergleichsanweisung schreiben, die der natürlichen Sprache sehr viel ähnlicher ist.

Where-Object Cmdlet Syntax:

Shell

1
2
3
4
5
6
7
8
9
10
11

## Wo-Object
##
## <String>
## <Object>]
## <ScriptBlock>
## | | | | | | |
## | | | | | | |
## | | | | |
## | | | |
## | | | |
##

Wo-Objekt Cmdlet Argumentliste:

  • -FilterScript: Gibt den Skriptblock an, der zum Filtern der Objekte verwendet wird. Schließen Sie den Skriptblock in geschweifte Klammern ({}) ein.
  • -InputObject: Gibt die Objekte an, die gefiltert werden sollen. Sie können die Objekte auch über die Pipeline an Where-Object übergeben.
  • -Property: Gibt den Namen einer Objekteigenschaft an. Der Parametername, Property, ist optional.
  • -Value: Gibt einen Eigenschaftswert an. Der Parametername, Value, ist optional.
  • -Contains: Der Eigenschaftswert des Objekts ist eine exakte Übereinstimmung mit dem angegebenen Wert.
  • -CContains: Der Eigenschaftswert des Objekts ist eine exakte Übereinstimmung mit dem angegebenen Wert. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -NotContains: Wenn keines der Elemente im Eigenschaftswert eine exakte Übereinstimmung mit dem angegebenen Wert ist.
  • -CNotContains: Wenn der Eigenschaftswert des Objekts keine exakte Übereinstimmung mit dem angegebenen Wert ist. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -EQ: Der Eigenschaftswert ist mit dem angegebenen Wert identisch.
  • -CEQ: Der Eigenschaftswert ist mit dem angegebenen Wert identisch. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -NE: Der Eigenschaftswert unterscheidet sich vom angegebenen Wert.
  • -CNE: Der Eigenschaftswert unterscheidet sich von dem angegebenen Wert. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -GE: Der Eigenschaftswert ist größer oder gleich dem angegebenen Wert.
  • -CGE: Der Eigenschaftswert ist größer oder gleich dem angegebenen Wert. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -GT: Der Eigenschaftswert ist größer als der angegebene Wert.
  • -CGT: Der Eigenschaftswert ist größer als der angegebene Wert. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -In: Eigenschaftswert stimmt mit einem der angegebenen Werte überein.
  • -CIn: Der Eigenschaftswert enthält den angegebenen Wert. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -NichtIn: Eigenschaftswert ist keine exakte Übereinstimmung für einen der angegebenen Werte.
  • -CNotIn: Wenn der Eigenschaftswert keine exakte Übereinstimmung mit dem angegebenen Wert ist. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -LE: Eigenschaftswert ist kleiner als oder gleich dem angegebenen Wert.
  • -CLE: Der Eigenschaftswert ist kleiner als oder gleich dem angegebenen Wert. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -Like: Eigenschaftswert stimmt mit einem Wert überein, der Platzhalterzeichen enthält.
  • -CLike: Eigenschaftswert stimmt mit einem Wert überein, der Platzhalterzeichen enthält. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -NotLike: Wenn der Eigenschaftswert nicht mit einem Wert übereinstimmt, der Platzhalterzeichen enthält.
  • -CNotLike: Wenn der Eigenschaftswert nicht mit einem Wert übereinstimmt, der Platzhalterzeichen enthält. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -LT: Eigenschaftswert ist kleiner als der angegebene Wert.
  • -CLT: Eigenschaftswert ist kleiner als der angegebene Wert. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -Match: Der Eigenschaftswert stimmt mit dem angegebenen regulären Ausdruck überein.
  • -CMatch: Der Eigenschaftswert stimmt mit dem angegebenen regulären Ausdruck überein. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -NotMatch: Wenn der Eigenschaftswert nicht mit dem angegebenen regulären Ausdruck übereinstimmt.
  • -CNotMatch: Wenn der Eigenschaftswert nicht mit dem angegebenen regulären Ausdruck übereinstimmt. Bei diesem Vorgang wird zwischen Groß- und Kleinschreibung unterschieden.
  • -Is: Der Eigenschaftswert ist eine Instanz des angegebenen .NET-Typs. Schließen Sie den Typnamen in eckige Klammern ein.
  • -IsNot: Wenn der Eigenschaftswert keine Instanz des angegebenen .NET-Typs ist.

PowerShell Where-Object Cmdlet:

Filtern der Ausgabe basierend auf einer Bedingung in PowerShell:

Shell

1
2
3
4
5
6
7
8
9
10
11
12

########################################
## PowerShell | Cmdlet | Where-Object ##
########################################
## PowerShell Latest Version (5)
## Filterausgabe basierend auf Bedingung in PowerShell
Get-Service | Where-Object Status -eq Stopped
Get-Service | Where-Object -Property Status -EQ -Value Stopped
Get-Service | Where-Object { $_.Status -eq „Stopped“ }

Filtern der Ausgabe basierend auf mehreren Bedingungen in PowerShell:

Shell

1
2
3

## Ausgabe basierend auf mehreren Bedingungen in PowerShell filtern
Get-Service | Where-Object { $_.Status -eq „Stopped“ -und $_.DisplayName -match „Windows*“ }

Hoffentlich hat Ihnen dieser Artikel gefallen. Im nächsten Blogbeitrag werden wir das Cmdlet „ForEach-Object“ in PowerShell besprechen.

Um weitere Details über PowerShell zu erfahren, folgen Sie bitte der offiziellen Dokumentation

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about?view=powershell-5.1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.