Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Kurzbeschreibung
Beschreibt die Syntaxdiagramme, die in PowerShell verwendet werden.
Lange Beschreibung
Die Get-Help- und Get-Command- Cmdlets zeigen Syntaxdiagramme an, mit denen Sie Befehle ordnungsgemäß erstellen können. In diesem Artikel wird erläutert, wie Sie die Syntaxdiagramme interpretieren.
Abrufen der Syntax für einen Befehl
Es gibt zwei Möglichkeiten zum Abrufen der Syntax für einen Befehl: Get-Help und Get-Command.
Get-Command
Der Befehl Get-Command kann verwendet werden, um Informationen zu jedem beliebigen Befehl auf Ihrem System abzurufen. Verwenden Sie die Syntax Parameter, um die Syntax für einen Befehl abzurufen.
Get-Command Get-Command -Syntax
Get-Command [[-ArgumentList] <Object[]>] [-Verb <string[]>] [-Noun <string[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-TotalCount <int>] [-Syntax] [-ShowCommandInfo] [-All] [-ListImported]
[-ParameterName <string[]>] [-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Get-Command [[-Name] <string[]>] [[-ArgumentList] <Object[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>] [-TotalCount <int>] [-Syntax] [-ShowCommandInfo]
[-All] [-ListImported] [-ParameterName <string[]>]
[-ParameterType <PSTypeName[]>] [-UseFuzzyMatching]
[-FuzzyMinimumDistance <uint>] [-UseAbbreviationExpansion]
[<CommonParameters>]
Get-Help
Der Befehl Get-Help enthält detaillierte Informationen zu PowerShell-Befehlen, einschließlich Syntax, detaillierter Beschreibung des Cmdlets und der Parameter und Beispiele. Die Ausgabe Get-Help Befehl beginnt mit einer kurzen Beschreibung des Befehls gefolgt von der Syntax.
Get-Help Get-Command
Die folgende Ausgabe wurde gekürzt, um sich auf die Syntaxbeschreibung zu konzentrieren.
NAME
Get-Command
SYNOPSIS
Gets all commands.
SYNTAX
Get-Command [[-Name] <System.String[]>] [[-ArgumentList] <System.Object[]>]
[-All] [-CommandType {Alias | Function | Filter | Cmdlet | ExternalScript |
Application | Script | Workflow | Configuration | All}]
[-FullyQualifiedModule <Microsoft.PowerShell.Commands.ModuleSpecification[]>]
[-ListImported] [-Module <System.String[]>] [-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[-UseAbbreviationExpansion] [-UseFuzzyMatching] [<CommonParameters>]
Get-Command [[-ArgumentList] <System.Object[]>] [-All]
[-FullyQualifiedModule <Microsoft.PowerShell.Commands.ModuleSpecification[]>]
[-ListImported] [-Module <System.String[]>] [-Noun <System.String[]>]
[-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[-Verb <System.String[]>] [<CommonParameters>]
...
Die Ausgabe von Get-Help unterscheidet sich geringfügig von der Ausgabe von Get-Command. Beachten Sie den Unterschied in der Syntax für den parameter CommandType.
Get-Command zeigt den Parametertyp als [CommandTypes] Aufzählung an, während Get-Help die möglichen Werte für die Enumeration anzeigen.
Parametersätze
Die Parameter eines PowerShell-Befehls werden in Parametersätzen aufgeführt. Ein PowerShell-Befehl kann einen oder mehrere Parametersätze aufweisen. Das Cmdlet Get-Command verfügt über zwei Parametersätze, wie in den vorherigen Beispielen gezeigt.
Einige der Cmdlet-Parameter sind für einen Parametersatz eindeutig, und andere werden in mehreren Parametersätzen angezeigt. Jeder Parametersatz stellt das Format für einen gültigen Befehl dar. Ein Parametersatz enthält nur Parameter, die in einem Befehl zusammen verwendet werden können. Wenn Parameter nicht im selben Befehl verwendet werden können, werden sie in separaten Parametersätzen aufgeführt.
Beispielsweise weist das Cmdlet Get-Random die folgenden Parametersätze auf:
$cmd = Get-Command Get-Random
$cmd.ParameterSets |
Select-Object Name, IsDefault, @{n='Parameters';e={$_.ToString()}} |
Format-Table -Wrap
Name IsDefault Parameters
---- --------- ----------
RandomNumberParameterSet True [[-Maximum] <Object>] [-SetSeed <int>]
[-Minimum <Object>] [-Count <int>]
[<CommonParameters>]
RandomListItemParameterSet False [-InputObject] <Object[]> [-SetSeed <int>]
[-Count <int>] [<CommonParameters>]
ShuffleParameterSet False [-InputObject] <Object[]> -Shuffle
[-SetSeed <int>] [<CommonParameters>]
- Der erste Parametersatz gibt eine oder mehrere Zufallszahlen zurück und weist die Parameter Minimum, Maximumund Count Parameter auf.
- Der zweite Parametersatz gibt ein zufällig ausgewähltes Objekt aus einer Gruppe von Objekten zurück und enthält die InputObject- und Count Parameter.
- Der dritte Parametersatz weist den Shuffle--Parameter auf, der eine Auflistung von Objekten in einer zufälligen Reihenfolge zurückgibt, z. B. das Mischen einer Kartensammlung.
- Alle Parametersätze weisen den SetSeed Parameter und die allgemeinen Parameter auf.
Diese Parametersätze zeigen, dass Sie die parameter InputObject und Count Parameter im selben Befehl verwenden können, sie können jedoch nicht die Maximum und Shuffle Parameter zusammen verwenden.
Jedes Cmdlet verfügt auch über einen Standardparametersatz. Der Standardparametersatz wird verwendet, wenn Sie keine Parameter angeben, die für einen Parametersatz eindeutig sind. Wenn Sie z. B. Get-Random ohne Parameter verwenden, geht PowerShell davon aus, dass Sie den RandomNumberParameterSet Parametersatz verwenden und eine Zufallszahl zurückgeben.
Symbole in Syntaxdiagrammen
Das Syntaxdiagramm enthält den Befehlsnamen, die Befehlsparameter und die Parameterwerte.
Die Syntaxdiagramme verwenden die folgenden Symbole:
Ein Bindestrich
-gibt einen Parameternamen an. Geben Sie in einem Befehl den Bindestrich unmittelbar vor dem Parameternamen ohne dazwischen liegende Leerzeichen ein, wie im Syntaxdiagramm dargestellt.Um z. B. den Name Parameter von
Get-Commandzu verwenden, geben Sie Folgendes ein:Get-Command -Name.
Winkelklammern
< >auf Platzhaltertext hinweisen. Sie geben die eckigen Klammern oder den Platzhaltertext nicht in einen Befehl ein. Stattdessen ersetzen Sie es durch das element, das es beschreibt.Der Platzhalter in den winkeln Klammern identifiziert den .NET-Typ des Werts, den ein Parameter verwendet. Wenn Sie z. B. den Parameter Name des Cmdlets
Get-Commandverwenden möchten, ersetzen Sie die<string[]>durch eine oder mehrere Zeichenfolgen durch Kommas getrennt (,).
Klammern
[]an einen .NET-Typ angefügt werden, geben an, dass der Parameter einen oder mehrere Werte dieses Typs akzeptieren kann. Geben Sie die Werte als durch Trennzeichen getrennte Liste ein.Beispielsweise nehmen die Parameter Name und Value Parameter des Cmdlets
New-Aliasjeweils nur eine Zeichenfolge.New-Alias [-Name] <string> [-Value] <string>New-Alias -Name MyAlias -Value mycommand.exeDer Name Parameter von Get-Process- kann jedoch eine oder mehrere Zeichenfolgen annehmen.
Get-Process [-Name] <string[]>Get-Process -Name Explorer, Winlogon, ServicesParameter ohne Werte
Einige Parameter akzeptieren keine Eingabe, sodass sie keinen Parameterwert haben. Parameter ohne Werte sind Schalterparameter. Switch-Parameter werden wie boolesche Werte verwendet. Sie werden standardmäßig
$false. Wenn Sie einen Switch-Parameter verwenden, wird der Wert auf$truefestgelegt.Beispielsweise ist der ListImported Parameter von
Get-Commandein Switch-Parameter. Wenn Sie den parameter ListImported verwenden, geben das Cmdlet nur Befehle zurück, die aus Modulen in der aktuellen Sitzung importiert wurden.Get-Command [-ListImported]
Klammern
[ ]um Parameter geben optionale Elemente an. Ein Parameter und sein Wert können optional sein. Beispielsweise werden der CommandType Parameter vonGet-Commandund dessen Wert in eckige Klammern eingeschlossen, da beide optional sind.Get-Command [-CommandType <CommandTypes>]Klammern um den Parameternamen, aber nicht den Parameterwert, geben an, dass der Parametername optional ist. Diese Parameter werden als Positionsparameter bezeichnet. Die Parameterwerte müssen in der richtigen Reihenfolge angezeigt werden, damit die Werte an den richtigen Parameter gebunden werden.
Für das
New-AliasCmdlet sind beispielsweise die Parameterwerte Name und Value erforderlich, aber die Parameternamen-Nameund-Value, sind optional.New-Alias [-Name] <string> [-Value] <string>New-Alias MyAlias mycommand.exeIn jedem Parametersatz werden die Parameter in der Positionsreihenfolge angezeigt. Die Reihenfolge der Parameter in einem Befehl ist nur dann wichtig, wenn Sie die optionalen Parameternamen weglassen. Wenn Parameternamen weggelassen werden, weist PowerShell Parametern Werte nach Position und Typ zu. Weitere Informationen zur Parameterposition finden Sie unter about_Parameters.
Geschweifte
{}auf eine "Aufzählung" hinweisen, bei der es sich um einen Satz gültiger Werte für einen Parameter handelt.Die Werte in den geschweiften Klammern werden durch vertikale Balken
|getrennt. Diese Balken geben eine exklusiv oder Auswahl an, was bedeutet, dass Sie nur einen Wert aus der Gruppe von Werten auswählen können, die in den geschweiften Klammern aufgeführt sind.Die Syntax für das Cmdlet
New-Aliasenthält beispielsweise die folgende Wertenumeration für den Parameter Option:New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}Die geschweiften und vertikalen Balken geben an, dass Sie einen der aufgelisteten Werte für den Parameter Option auswählen können, z. B.
ReadOnlyoderAllScope.New-Alias -Option ReadOnly