about_Operators

Letzte Aktualisierung: Mai 2014

Betrifft: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

THEMA

about_Operators

KURZE BESCHREIBUNG

Beschreibt die von Windows PowerShell unterstützten Operatoren.

LANGE BESCHREIBUNG

Ein Operator ist ein Sprachelement, das Sie in einem Befehl oder einem Ausdruck verwenden können. Windows PowerShell unterstützt verschiedene Arten von Operatoren, mit denen Sie Werte bearbeiten können.

ARITHMETISCHE OPERATOREN

Mit arithmetischen Operatoren (+, -, *, /, %) können Sie Werte in einem Befehl oder Ausdruck berechnen. Mit diesen Operatoren können Sie Werte addieren, subtrahieren, multiplizieren oder dividieren und den Rest (Modulo) einer Division berechnen.

Sie können auch arithmetische Operatoren mit Zeichenfolgen, Arrays und Hashtabellen verwenden. Der Additionsoperator verkettet Elemente. Der Multiplikationsoperator gibt die angegebene Anzahl an Kopien eines jeden Elements zurück.

Weitere Informationen finden Sie unter "about_Arithmetic_Operators".

ZUWEISUNGSOPERATOREN

Mit den Zuweisungsoperatoren (=, +=, -=, *=, /=, %=) können Sie Variablen einen oder mehrere Werte zuweisen, Variablenwerte ändern und Werte an Variablen anfügen. Sie können eine Variable auch in einen beliebigen Microsoft .NET Framework-Datentyp umsetzen, zum Beispiel in eine String-, DateTime- oder Process-Variable.

Weitere Informationen finden Sie unter "about_Assignment_Operators".

VERGLEICHSOPERATOREN

Mit Vergleichsoperatoren (-eq, -ne, -gt, -lt, -le, -ge) können Sie Werte vergleichen und Bedingungen testen. Sie können beispielsweise zwei Zeichenfolgewerte vergleichen, um festzustellen, ob sie gleich sind.

Vergleichsoperatoren beinhalten folgende Operatoren: Abgleichoperatoren (-match, -notmatch), die mithilfe regulärer Ausdrücke Muster erkennen, einen Ersetzungsoperator (-replace), der mithilfe regulärer Ausdrücke Eingabewerte ändert, Gleichheitsoperatoren (-like, -notlike), die Muster mit Platzhalterzeichen (*) erkennen, sowie Einschlussoperatoren (-in, -notin, -contains, -notcontains), die ermitteln, ob ein Referenzsatz einen Testwert enthält.

Hierzu zählen auch die bitweisen Operatoren (-bAND, -bOR, -bXOR, -bNOT) für die Änderung von Bitmustern in Werten.

Weitere Informationen finden Sie unter "about_Comparison_Operators".

LOGISCHE OPERATOREN

Mit logischen Operatoren (-and, -or, -xor, -not, !) verknüpfen Sie bedingte Anweisungen zu einer zusammengefassten komplexen Bedingung. Beispielsweise können Sie einen logischen -and-Operator zur Erstellung eines Objektfilters mit zwei verschiedenen Bedingungen verwenden.

Weitere Informationen finden Sie unter "about_Logical_Operators".

UMLEITUNGSOPERATOREN

Mit Umleitungsoperatoren (>, >>, 2>, 2>, and 2>&1) können Sie die Ausgabe eines Befehls oder Ausdrucks in eine Textdatei übertragen. Die Umleitungsoperatoren funktionieren wie das Cmdlet Out-File (ohne Parameter), ermöglichen aber auch die Umleitung der Fehlerausgabe in angegebene Dateien. Zur Umleitung der Ausgabe können Sie auch das Cmdlet Tee-Object verwenden.

Weitere Informationen finden Sie unter "about_Redirection".

SPLIT- UND JOIN-OPERATOREN

Mit den Split- und Join-Operatoren trennen und verbinden Sie Teilzeichenfolgen. Der Split-Operator teilt eine Zeichenfolge in Teilzeichenfolgen auf. Der Join-Operator verkettet mehrere Zeichenfolgen zu einer einzigen Zeichenfolge.

Weitere Informationen finden Sie unter "about_Split" und "about_Join".

TYPOPERATOREN

Mit den Typoperatoren (-is, -isnot, -as) können Sie den .NET Framework-Typ eines Objekts anzeigen und ändern.

Weitere Informationen finden Sie unter "about_Type_Operators".

UNÄRE OPERATOREN

Mit den unären Operatoren können Sie Variablen oder Objekteigenschaften inkrementieren oder dekrementieren und Ganzzahlen auf positive oder negative Zahlen setzen. Beispiel: Zum Inkrementieren der Variablen $a von 9 auf 10 geben Sie $a++ ein.

SPEZIELLE OPERATOREN

Mit den speziellen Operatoren können Sie Aufgaben ausführen, für die die anderen Operatortypen ungeeignet sind. Sie können mit diesen Operatoren beispielsweise Befehle ausführen oder den Datentyp eines Werts ändern.

Array-Teilausdruck-Operator @( )

Gibt das Ergebnis einer oder mehrerer Anweisungen als Array zurück. Wenn nur ein Element vorhanden ist, hat das Array nur ein Member.

             @(Get-WMIObject win32_logicalDisk)

& Aufrufoperator

Führt einen Befehl, ein Skript oder einen Skriptblock aus. Mit diesem Operator können Sie auch in Variablen gespeicherte und durch Zeichenfolgen dargestellte Befehle ausführen. Da der Aufrufoperator einen Befehl nicht analysiert, kann er auch keine Befehlsparameter interpretieren.

             C:\PS> $c = "get-executionpolicy"
             C:\PS> $c
             get-executionpolicy
 
             C:\PS> & $c
             AllSigned

Umwandlungsoperator [ ]

Konvertiert Objekte in den angegebenen Typ bzw. beschränkt sie darauf. Können Objekte nicht konvertiert werden, so gibt Windows PowerShell einen Fehler aus.

             [datetime]$birthday = "1/20/88"
             [int64]$a = 34  

Kommaoperator [,]

Als binärer Operator erstellt das Komma ein Array. Als unärer Operator erstellt das Komma ein Array mit einem Member. Fügen Sie das Komma vor dem Member ein.

             $myArray = 1,2,3 
             $SingleArray = ,1     

. Punkt-Quellen-Operator

Führt ein Skript im aktuellen Bereich aus, sodass alle vom Skript erstellten Funktionen, Aliase und Variablen dem aktuellen Bereich hinzugefügt werden.

             . c:\scripts.sample.ps1

Hinweis: Auf den Punkt-Quellen-Operator muss ein Leerzeichen folgen. Durch dieses Leerzeichen wird der Punkt vom Punktsymbol (.), das das aktuelle Verzeichnis darstellt, unterschieden.

Im folgenden Beispiel wird das Skript Sample.ps1 aus dem aktuellen Verzeichnis im aktuellen Bereich ausgeführt.

                 . .\sample.ps1

Formatoperator -f

Formatiert Zeichenfolgen mit der Formatmethode von Zeichenfolgeobjekten. Geben Sie die Formatzeichenfolge auf der linken und die zu formatierenden Objekte auf der rechten Seite des Operators ein.

             C:\PS> "{0} {1,-10} {2:N}" -f 1,"hello",[math]::pi
             1 hello      3.14

Weitere Informationen finden Sie unter "String.Format Method" (https://go.microsoft.com/fwlink/?LinkID=166450) und "Composite Formatting" (https://go.microsoft.com/fwlink/?LinkID=166451).

Indexoperator [ ]

Wählt Objekte aus indizierten Datengruppen wie Arrays und Hashtabellen aus. Arrayindizes sind nullbasiert; das erste Objekt wird also mit [0] indiziert. Bei Arrays können Sie auch negative Indizes verwenden, um die vorangegangenen Werte abzurufen. Hashtabellen werden nach dem Schlüsselwert indiziert.

             C:\PS> $a = 1, 2, 3
             C:\PS> $a[0]
             1
             C:\PS> $a[-1]
             3


             C:\PS> (get-hotfix | sort installedOn)[-1]

           
             C:\PS> $h = @{key="value"; name="Windows PowerShell"; version="2.0"}
             C:\PS> $h["name"]
             Windows PowerShell


             C:\PS> $x = [xml]"<doc><intro>Once upon a time...</intro></doc>"
             C:\PS> $x["doc"]
             intro
             -----
             Once upon a time...

Pipeline-Operator |

Sendet die Ausgabe des vorangegangenen Befehls via Pipe an den nachfolgenden Befehl. Wenn die Ausgabe mehrere Objekte (eine Datengruppe) enthält, sendet der Pipeline-Operator die Objekte einzeln nacheinander.

               get-process | get-member
               get-pssnapin | where {$_.vendor -ne "Microsoft"}                              

. Dereferenzierungsoperator für Eigenschaften

Greift auf die Eigenschaften und Methoden eines Objekts zu.

             $myProcess.peakWorkingSet
             (get-process PowerShell).kill()

.. Bereichsoperator

Stellt die ganzen Zahlen eines Ganzzahlen-Arrays der Reihe nach dar, wobei eine obere und untere Grenze gilt.

             1..10
             10..1
             foreach ($a in 1..$max) {write-host $a}

:: Operator für statische Member

Ruft den Operator für statische Eigenschaften und die Methoden der .NET Framework-Klasse auf. Zum Abrufen der statischen Eigenschaften und Methoden eines Objekts verwenden Sie den Parameter Static des Cmdlets Get-Member.

             [datetime]::now
   

Teilausdruckoperator $ ()

Gibt das Ergebnis einer oder mehrerer Anweisungen zurück. Bei einem einzelnen Ergebnis wird ein Skalarwert zurückgegeben. Bei mehreren Ergebnissen wird ein Array zurückgegeben.

             $($x * 23)
             $(Get-WMIObject win32_Directory)

SIEHE AUCH

about_Arithmetic_Operators

about_Assignment_Operators

about_Comparison_Operators

about_Logical_Operators

about_Type_Operators

about_Split

about_Join

about_Redirection