Attributdeklaration: Parameter

Das Parameter-Attribut identifiziert eine öffentliche Eigenschaft der Cmdlet-Klasse als Cmdlet-Parameter.

Syntax

[Parameter()]
[Parameter(Named Parameters...)]

Parameter

Mandatory (System.Boolean) Optionaler benannter Parameter. True gibt an, dass der Cmdlet-Parameter erforderlich ist. Wenn beim Aufrufen des Cmdlets kein erforderlicher Parameter angegeben wird, fordert Windows PowerShell den Benutzer zur Eingabe eines Parameterwerts auf. Der Standardwert lautet false.

ParameterSetName (System.String) Optionaler benannter Parameter. Gibt den Parametersatz an, zu dem dieser Cmdlet-Parameter gehört. Wenn kein Parametersatz angegeben wird, gehört der Parameter zu allen Parametersätzen.

Position (System.Int32) Optional benannter Parameter. Gibt die Position des Parameters innerhalb eines Windows PowerShell Befehls an.

ValueFromPipeline (System.Boolean) Optionaler benannter Parameter. True gibt an, dass der Cmdlet-Parameter seinen Wert aus einem Pipelineobjekt annimmt. Geben Sie dieses Schlüsselwort an, wenn das Cmdlet auf das vollständige Objekt zugreift, nicht nur auf eine Eigenschaft des -Objekts. Der Standardwert lautet false.

ValueFromPipelineByPropertyName (System.Boolean) Optionaler benannter Parameter. True gibt an, dass der Cmdlet-Parameter seinen Wert aus einer Eigenschaft eines Pipelineobjekts übernimmt, das entweder den gleichen Namen oder den gleichen Alias wie dieser Parameter hat. Wenn das Cmdlet beispielsweise über einen Name Parameter verfügt und das Pipelineobjekt auch über eine Name -Eigenschaft verfügt, wird der Wert der Name -Eigenschaft dem Parameter des Name Cmdlets zugewiesen. Der Standardwert lautet false.

ValueFromRemainingArguments (System.Boolean) Optionaler benannter Parameter. True gibt an, dass der Cmdlet-Parameter alle verbleibenden Argumente akzeptiert, die an das Cmdlet übergeben werden. Der Standardwert lautet false.

HelpMessage Optionaler benannter Parameter. Gibt eine kurze Beschreibung des Parameters an. Windows PowerShell zeigt diese Meldung an, wenn ein Cmdlet ausgeführt wird und kein obligatorischer Parameter angegeben ist.

HelpMessageBaseName Optionaler benannter Parameter. Gibt den Speicherort an, an dem sich Ressourcenbezeichner befinden. Mit diesem Parameter kann beispielsweise eine Ressourcenassembly angegeben werden, die Hilfemeldungen enthält, die Sie lokalisieren möchten.

HelpMessageResourceId Optionaler benannter Parameter. Gibt den Ressourcenbezeichner für eine Hilfemeldung an.

Bemerkungen

  • Weitere Informationen zum Deklarieren dieses Attributs finden Sie unter Deklarieren von Cmdlet-Parametern.

  • Ein Cmdlet kann über eine beliebige Anzahl von Parametern verfügen. Um die Benutzerfreundlichkeit zu verbessern, beschränken Sie jedoch die Anzahl der Parameter.

  • Parameter müssen für öffentliche, nicht statische Felder oder Eigenschaften deklariert werden. Parameter sollten für Eigenschaften deklariert werden. Die -Eigenschaft muss über einen öffentlichen Set-Accessor verfügen, und wenn das ValueFromPipeline - oder ValueFromPipelineByPropertyName -Schlüsselwort angegeben ist, muss die Eigenschaft über einen öffentlichen Get-Accessor verfügen.

  • Wenn Sie Positionsparameter angeben, beschränken Sie die Anzahl der Positionsparameter in einem Parametersatz auf weniger als fünf. Positionsparameter müssen nicht zusammenhängend sein. Die Positionen 5, 100 und 250 funktionieren genauso wie die Positionen 0, 1 und 2.

  • Wenn das Position Schlüsselwort nicht angegeben ist, muss anhand seines Namens auf den Cmdlet-Parameter verwiesen werden.

  • Beachten Sie bei Verwendung von Parametersätzen Folgendes:

    • Jeder Parametersatz muss mindestens einen eindeutigen Parameter aufweisen. Ein guter Cmdlet-Entwurf gibt an, dass dieser eindeutige Parameter nach Möglichkeit ebenfalls obligatorisch sein sollte. Wenn Ihr Cmdlet so konzipiert ist, dass es ohne Parameter ausgeführt wird, kann der eindeutige Parameter nicht obligatorisch sein.

    • Kein Parametersatz sollte mehr als einen Positionsparameter mit der gleichen Position enthalten.

    • Nur ein Parameter in einem Parametersatz sollte ValueFromPipeline = true deklarieren.

    • Mehrere Parameter können ValueFromPipelineByPropertyName = true definieren.

  • Weitere Informationen zu den Richtlinien für Parameternamen finden Sie unter Cmdlet-Parameternamen.

  • Das Parameterattribut wird von der System.Management.Automation.Parameterattribute-Klasse definiert.

Weitere Informationen

System.Management.Automation.Parameterattribute

Cmdlet-Parameternamen

Schreiben eines Windows PowerShell-Cmdlets