PowerShell für Anfänger – Wie liest man die Parametersyntax eines Cmdlets?

Jedes PowerShell-Command besitzt eine Reihe von Parametern, die immer in einer einheitlichen Schreibweise als Teil der „Syntax“ ausgegeben werden (z.B. per Get-Command und dem Syntax-Parameter).

Was mir am Anfang in Schulungen etwas schwer fiel zu erklären war, was die eckigen Kammern bei den Parameternamen zu bedeuten haben. Mal gibt es welche, mal gibt es sie nicht.

Der Hintergrund ist natürlich der Umstand, dass es bei den meisten Commands Pflichtparameter gibt, der Name eines Parameters aber auch entfallen kann, wenn es ein Positionsparameter ist.

Hier die (eigentlich sehr einfache) Regel:

>Ist nur der Name des Parameters in eckige Klammern gesetzt, ist der Parameter ein Pflichtparameter und ein Positonsparameter – sein Name kann daher entfallen.

>ist der gesamte Parameter in eckige Klammen gesetzt, ist der Parameter kein Pflichtparameter und kann komplett entfallen.

>Die eckigen Klammern am Ende des Datentyps besitzen eine andere Bedeutung. Sie geben an, dass auch mehrere Parameterwerte per Komma getrennt übergeben werden können.

Eine Frage zum Verständnis: Wie viele Pflichtparameter besitzt das ForEach-Object-Cmdlet und darf der Name des Process-Parameters weggelassen werden? Die Auflösung erfolgt in Kürze.

Die Antwort: Einer und Ja. Es gibt aber glaube niemanden, der jemals den Process-Parameter hingeschrieben hat;)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.