Parameter-Attributdeklaration
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 ist false
.
ParameterSetName
(System.String) Optionaler benannter Parameter. Gibt den Parametersatz an, zu dem dieser Cmdlet-Parameter gehört. Wenn kein Parametersatz angegeben ist, gehört der Parameter zu allen Parametersätzen.
Position
(System.Int32) Optionaler benannter Parameter. Gibt die Position des Parameters in einem Windows PowerShell-Befehl an.
ValueFromPipeline
(System.Boolean) Optionaler benannter Parameter.
True
gibt an, dass der Cmdlet-Parameter seinen Wert aus einem Pipelineobjekt verwendet. Geben Sie dieses Schlüsselwort an, wenn das Cmdlet auf das vollständige Objekt zugreift, nicht nur auf eine Eigenschaft des Objekts. Der Standardwert ist false
.
ValueFromPipelineByPropertyName
(System.Boolean) Optionaler benannter Parameter.
True
gibt an, dass der Cmdlet-Parameter seinen Wert aus einer Eigenschaft eines Pipelineobjekts verwendet, die entweder denselben Namen oder denselben Alias wie dieser Parameter aufweist. 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 Name
Parameter des Cmdlets zugewiesen. Der Standardwert ist 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 ist false
.
HelpMessage
(System.String) 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
(System.String) Optionaler benannter Parameter. Gibt den Speicherort an, an dem sich Ressourcenbezeichner befinden. Beispielsweise könnte dieser Parameter eine Ressourcenassembly angeben, die Hilfemeldungen enthält, die Sie lokalisieren möchten.
HelpMessageResourceId
(System.String) Optionaler benannter Parameter. Gibt den Ressourcenbezeichner für eine Hilfenachricht an.
DontShow
(System.Boolean) Optionaler benannter Parameter.
True
gibt an, dass der Parameter für die Registerkartenerweiterung und IntelliSense vom Benutzer ausgeblendet ist. Der Standardwert ist false
.
Bemerkungen
Weitere Informationen zum Deklarieren dieses Attributs finden Sie unter Deklarieren von Cmdlet-Parametern.
Ein Cmdlet kann eine beliebige Anzahl von Parametern aufweisen. Um eine bessere Benutzererfahrung zu erzielen, 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 schlüsselwort
ValueFromPipeline
oderValueFromPipelineByPropertyName
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 Parameter, der auf weniger als fünf festgelegt ist. Und positionsbezogenen Parameter müssen nicht zusammenhängend sein. Die Positionen 5, 100 und 250 funktionieren mit den Positionen 0, 1 und 2.
Wenn das schlüsselwort
Position
nicht angegeben ist, muss der Cmdlet-Parameter anhand seines Namens referenziert werden.Beachten Sie beim Verwenden von Parametersätzen Folgendes:
Jeder Parametersatz muss mindestens einen eindeutigen Parameter aufweisen. Ein guter Cmdlet-Entwurf gibt an, dass dieser eindeutige Parameter ggf. auch obligatorisch sein sollte. Wenn Ihr Cmdlet ohne Parameter ausgeführt werden soll, kann der eindeutige Parameter nicht obligatorisch sein.
Es sollte kein Parametersatz mehr als einen Positionsparameter mit derselben 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 Parameter Names.
Das Parameterattribut wird durch die System.Management.Automation.ParameterAttribute Klasse definiert.
Der parameter
DontShow
hat die folgenden Nebenwirkungen:- Betrifft alle Parametersätze für den zugeordneten Parameter, auch wenn ein Parametersatz vorhanden ist, in dem
DontShow
nicht verwendet wird. - Blendet allgemeine Parameter aus dem Abschluss der Registerkarte und IntelliSense aus.
DontShow
blendet die optionalen allgemeinen Parameter nicht aus: WhatIf, Confirmoder UseTransaction.
- Betrifft alle Parametersätze für den zugeordneten Parameter, auch wenn ein Parametersatz vorhanden ist, in dem