about_Command_Syntax

Letzte Aktualisierung: Mai 2014

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

Einführung hier einfügen.

THEMA

about_Command_Syntax

KURZE BESCHREIBUNG

Beschreibt die Syntaxdiagramme, die Windows PowerShell® verwendet werden.

LANGE BESCHREIBUNG

Mit den Get-Help- und Get-Command-Cmdlets können die Syntaxdiagramme angezeigt werden, die Ihnen beim Erstellen korrekter Befehle helfen. In diesem Thema wird erläutert, wie die Syntaxdiagramme zu interpretieren sind.

SYNTAXDIAGRAMME

Jeder Absatz in einem Befehls-Syntaxdiagramm repräsentiert eine gültige Form des Befehls.

Um einen Befehl zu erstellen, folgen Sie dem Syntaxdiagramm von links nach rechts. Treffen Sie Ihre Auswahl aus den optionalen Parametern, und geben Sie Werte für die Platzhalter an.

Windows PowerShell verwendet die folgende Notation für Syntaxdiagramme.

       <command-name> -<Required Parameter Name> <Required Parameter Value>
                      [-<Optional Parameter Name> <Optional Parameter Value>] 
                      [-<Optional Switch Parameters>] 
                      [-<Optional Parameter Name>] <Required Parameter Value> 

Im Folgenden finden die Syntax für das New-Alias-Cmdlet.

        New-Alias [-Name] <string> [-Value] <string> [-Description <string>]
            [-Force] [-Option {None | ReadOnly | Constant | Private | AllScope}]
            [-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

Die Syntax ist zur besseren Lesbarkeit in Großbuchstaben geschrieben, allerdings spielt in Windows PowerShell die Groß- und Kleinschreibung keine Rolle.

Das Syntaxdiagramm weist die folgenden Elemente auf:

NAME DES BEFEHLS

------------

Befehle beginnen immer mit einem Befehlsnamen, z. B. New-Alias. Geben Sie den Befehlsnamen oder dessen Alias ein, z. B. „gcm“ für Get-Command.

PARAMETER

----------

Die Parameter eines Befehls sind Optionen, die bestimmen, was der Befehl bewirkt. Einige Parameter akzeptieren einen „Wert“, bei dem es sich um die Benutzereingabe für den Befehl handelt.

Der Get-Help Get-Befehl verfügt z. B. über einen Name-Parameter, mit dem Sie den Namen des Themas angeben können, für das Hilfe angezeigt wird. Der Name des Themas ist der Wert des Name-Parameters.

In einem Windows PowerShell-Befehl beginnen die Parameternamen immer mit einem Bindestrich. Der Bindestrich teilt Windows PowerShell mit, dass das Element in dem Befehl ein Parametername ist.

Um z. B. den Name-Parameter von New-Alias zu verwenden, geben Sie Folgendes ein:

        -Name

Parameter können obligatorisch oder optional sein. In einem Syntaxdiagramm werden optionale Elemente in eckige Klammern ([ ]) eingeschlossen.

Weitere Informationen zu Parametern finden Sie unter „about_Parameters“.

PARAMETERWERTE

----------------

Ein Parameterwert ist die Eingabe, die der Parameter akzeptiert. Da Windows PowerShellauf Microsoft .NET Framework basiert, sind die Parameterwerte im Syntaxdiagramm nach ihrem .NET-Typ dargestellt.

Beispielsweise hat der Name-Parameter von Get-Help einen String-Wert, was einer Textzeichenfolge entspricht, z. B. einem einzelnen Wort oder mehreren Wörtern (in Anführungszeichen eingeschlossen).

        [-Name] <string>

Der .NET-Typ eines Parameterwerts ist in spitze Klammern eingeschlossen (< >), um anzugeben, dass es sich um einen Platzhalter für einen Wert und keine Zeichenfolge handelt, die Sie in einen Befehl eingeben.

Bei der Verwendung des Parameters ersetzen Sie die .Net-Typ-Platzhalter durch ein Objekt mit dem angegebenen .Net-Typ.

Um z. B. den Name-Parameter zu verwenden, geben Sie z. B. "-Name" gefolgt von einer Zeichenfolge ein, z. B. die Folgende:

        -Name MyAlias

PARAMETER OHNE WERTE

-------------------------

Einige Parameter akzeptieren keine Eingabe, sodass sie keinen Parameterwert aufweisen. Parameter ohne Werte sind so genannte „Switch-Parameter“, weil sie wie Ein-/Aus-Schalter funktionieren. Sie schließen diese entweder in einen Befehl ein (on), oder Sie lassen sie aus einem Befehl aus (off).

Um einen Switch-Parameter zu verwenden, geben Sie einfach den Parameternamen ein, dem ein Bindestrich vorangestellt ist.

Um z. B. den WhatIf-Parameter des New-Alias-Cmdlets zu verwenden, geben Sie Folgendes ein:

        -WhatIf

PARAMETERSÄTZE

--------------

Die Parameter eines Befehls sind in Parametersätzen aufgeführt. Parametersätze sehen aus wie die Absätze in einem Syntaxdiagramm.

Das New-Alias-Cmdlet verfügt über einen Parametersatz, aber viele Cmdlets verfügen über mehrere Parametersätze. Einige der Cmdlet-Parameter sind nur für einen Parametersatz charakteristisch, während andere in mehreren Parametersätzen vorkommen.

Jeden Parametersatz repräsentiert das Format eines gültigen Befehls. Ein Parametersatz enthält nur die Parameter, die zusammen in einem Befehl verwendet werden können. Wenn Parameter nicht im selben Befehl verwendet werden können, sind sie in separaten Parametersätzen enthalten.

Das Get-Random-Cmdlet verfügt beispielsweise über die folgenden Parametersätze:

        Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>]
                    [<CommonParameters>]
        Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>]
                   [<CommonParameters>]

Der erste Parametersatz, der eine Zufallszahl zurückgibt, verfügt über die Parameter „Minimum“ und „Maximum“. Der zweite Parametersatz, der ein zufällig ausgewähltes Objekt aus einem Satz von Objekten zurückgibt, enthält die Parameter „InputObject“ und „Count“. Beide Parametersätze verfügen über den Set-Seed-Parameter und die allgemeinen Parameter.

Diese Parametersätze zeigen, dass Sie die Parameter „InputObject“ und „Count“ im selben Befehl verwenden können, es aber nicht möglich ist, die Parameter „Maximum“ und „Count“ im selben Befehl zu verwenden.

Sie geben an, welchen Parametersatz Sie verwenden wollen, indem Sie die Parameter im entsprechenden Parametersatz verwenden.

Jedes Cmdlet verfügt jedoch auch über einen Standardparametersatz. Der Standardparametersatz wird verwendet, wenn Sie keine Parameter angeben, die für einen Parametersatz charakteristisch sind. Wenn Sie z. B. Get-Random ohne Parameter verwenden, geht Windows PowerShell davon aus, dass Sie den Number-Parametersatz verwenden, der eine Zufallszahl zurückgibt.

In jedem Parametersatz treten die Parameter in der Reihenfolge ihrer Position auf. Die Reihenfolge der Parameter in einem Befehl ist nur wichtig, wenn Sie die optionalen Parameternamen auslassen. Wenn die Parameternamen ausgelassen werden, weist Windows PowerShell Parametern die Werte nach Position und Typ zu. Weitere Informationen zur Parameterposition finden Sie unter „about_Parameters“.

SYMBOLE IN DEN SYNTAXDIAGRAMMEN

Das Syntaxdiagramm listet den Befehlsnamen, die Befehlsparameter und die Parameterwerte auf. Es verwendet auch Symbole, um Ihnen zu zeigen, wie Sie einen gültigen Befehl erstellen.

Die Syntaxdiagramme verwenden die folgenden Symbole:

– Ein Bindestrich (-) gibt einen Parameternamen an. Geben Sie in einem Befehl den Bindestrich unmittelbar vor dem Parameternamen ein, und zwar ohne Leerzeichen, wie im Syntaxdiagramm veranschaulicht.

Geben Sie zum Beispiel für die Verwendung des Name-Parameters von New-Alias Folgendes ein:

           -Name 

– Spitze Klammern (<>) geben Platzhaltertext an. In einem Befehl geben Sie weder die spitzen Klammern noch den Platzhaltertext ein. Stattdessen ersetzen Sie diese durch das Element, das es beschreibt.

Spitze Klammern werden verwendet, um den .NET-Typ des Werts zu identifizieren, den ein Parameter akzeptiert. Um z. B. den Name-Parameter des New-Alias-Cmdlets zu verwenden, ersetzen Sie <Zeichenfolge> mit einer Zeichenfolge, bei der es sich um ein einzelnes Wort oder mehrere Wörter (in Anführungszeichen eingeschlossen) handelt.

– Eckige Klammern ([ ]) geben optionale Elemente an. Ein Parameter und sein Wert können optional sein, oder der Name eines erforderlichen Parameters kann optional sein.

So sind z. B. der Description-Parameter von New-Alias und sein Wert in eckige Klammern eingeschlossen, weil sie optional sind.

   [-Description <string>]

Die eckigen Klammern geben auch an, dass der Name-Parameterwert (<Zeichenfolge>) erforderlich ist, wogegen der Parametername – „Name“– optional ist.

         [-Name] <string>

– Eine öffnende und schließende eckige Klammer ([]), die an einen .NET-Typ angefügt sind, geben an, dass der Parameter einen oder mehrere Werte dieses Typs akzeptieren kann. Geben Sie die Werte in eine durch Kommas getrennte Liste ein.

Beispielsweise kann der Name-Parameter des New-Alias-Cmdlets nur eine Zeichenfolge akzeptieren, wogegen der Name-Parameter von Get-Process eine oder mehrere Zeichenfolgen akzeptiert.

          New-Alias [-Name] <string>

               New-Alias -Name MyAlias

          Get-Process [-Name] <string[]>

               Get-Process -Name Explorer, Winlogon, Services
               

– Geschweifte Klammern ({}) Geben Sie eine „Enumeration“ an, also einen Satz gültiger Werte für einen Parameter.

Die Werte in den geschweiften Klammern werden durch senkrechte Striche (|) getrennt. Diese Striche zeigen an eine „exclusive or“-Auswahl an. Das bedeutet, dass Sie immer nur einen der Werte aus dem Wertesatz auswählen können, der innerhalb der geschweiften Klammern aufgeführt ist.

So enthält z. B. die Syntax für das New-Alias-Cmdlet die folgende Wert-Enumeration für den Option-Parameter:

          -Option {None | ReadOnly | Constant | Private | AllScope}

Die geschweiften Klammern und senkrechten Striche geben an, dass Sie einen beliebigen der aufgelisteten Werte für den Option-Parameter auswählen können, z. B. „ReadOnly“ oder „ReadOnly%“.

          -Option ReadOnly

OPTIONALE ELEMENTE

Eckige Klammern ([]) umgeben optionale Elemente. So ist z. B. in der Syntaxbeschreibung des New-Alias-Cmdlets der Scope-Parameter optional. Dies wird in der Syntax durch die eckigen Klammern um den Parameternamen und -typ angegeben:

          [-Scope <string>]

Beide der folgenden Beispiele sind korrekte Verwendungen des New-Alias-Cmdlets:

          New-Alias -Name utd -Value Update-TypeData
          New-Alias -Name utd -Value Update-TypeData -Scope global

Ein Parametername kann optional sein, selbst wenn der Wert für diesen Parameter erforderlich ist. Dies wird in der Syntax durch die eckigen Klammern um den Parameternamen jedoch nicht um den Parametertyp angegeben, wie in diesem Beispiel aus dem New-Alias-Cmdlet:

          [-Name] <string> [-Value] <string>

Die folgenden Befehle verwenden Sie das New-Alias-Cmdlets korrekt. Die Befehle erzeugen dasselbe Ergebnis.

          New-Alias -Name utd -Value Update-TypeData
          New-Alias -Name utd Update-TypeData
          New-Alias utd -Value Update-TypeData
          New-Alias utd Update-TypeData

Wenn der Parametername bei der Eingabe nicht in der Anweisung enthalten ist, versucht Windows PowerShell, die Position der Argumente zu verwenden, um den Parametern Werte zuzuweisen.

Das folgende Beispiel ist nicht vollständig:

          New-Alias utd

Dieses Cmdlet erfordert Werte sowohl für den Name-Parameter als auch für den Value-Parameter.

In den Syntaxbeispielen werden eckige Klammern auch zur Benennung und Umwandlung in .NET Framework-Typen verwendet. In diesem Kontext geben die eckigen Klammern nicht an, dass ein Element optional ist.

SCHLÜSSELWÖRTER

about_Symbols

about_Punctuation

about_Help_Syntax

SIEHE AUCH

about_Parameters

Get-Command

Get-Help