THEMA
about_Functions_CmdletBindingAttribute
KURZBESCHREIBUNG
Beschreibt ein Attribut, das eine Funktion deklariert, dessen
Verhalten dem eines kompilierten Cmdlet ähnelt.
DETAILBESCHREIBUNG
Beim Erstellen von Funktionen können Sie das CmdletBinding-Attribut
hinzufügen, sodass Windows PowerShell die Parameter der Funktion auf
die gleiche Weise bindet wie die Parameter kompilierter Cmdlets. Wenn
dieses Attribut deklariert wurde, wird von Windows PowerShell auch
die automatische Variable "$PSCmdlet" festgelegt.
Bei Verwendung der Cmdlet-Bindung führen unbekannte Parameter und
Positionsargumente ohne entsprechende Positionsparameter dazu,
dass bei der Parameterbindung Fehler auftreten. Zudem wird für
Funktionen oder Skripts mit Cmdlet-Bindung nicht die Variable
"$args" verwendet.
Hinweis: Für kompilierte Cmdlets wird das erforderliche
Cmdlet-Attribut verwendet, das dem in diesem Thema beschriebenen
CmdletBinding-Attribut ähnelt.
Im folgenden Beispiel wird die Gliederung einer Funktion
veranschaulicht, mit der alle optionalen Argumente des CmdletBinding-
Attributs angegeben werden. Dem Beispiel folgen kurze Beschreibungen
der einzelnen Argumente.
{
[CmdletBinding(SupportsShouldProcess=<Boolean>,
ConfirmImpact=<String>,
DefaultParameterSetName=<String>)]
Param ($Parameter1)
Begin{}
Process{}
End{}
}
SupportsShouldProcess
Wenn das SupportsShouldProcess-Argument auf True festgelegt
ist, gibt dies an, dass die Funktion Aufrufe der ShouldProcess-M
ethode unterstützt. Mit dieser werden Benutzer aufgefordert,
Feedback abzugeben, bevor die Funktion eine Änderung am System
vornimmt. Wenn dieses Argument angegeben wurde, werden der
Confirm-Parameter und der WhatIf-Parameter für die Funktion
aktiviert.
Weitere Informationen zu Bestätigungsanforderungen finden Sie
in der MSDN Library (Microsoft Developer Network) im Thema
"Anfordern einer Bestätigung" unter "https://go.microsoft.com/fwlink/
?LinkId=136658" (möglicherweise auf Englisch).
DefaultParameterSetName
Das DefaultParameterSetName-Argument gibt den Namen des
Parametersatzes an, den Windows PowerShell zu verwenden
versucht, wenn der für die Verwendung festgelegte Parametersatz
nicht ermittelt werden kann. Dieses Problem können Sie
vermeiden, indem Sie den eindeutigen Parameter jedes
Parametersatzes als erforderlichen Parameter festlegen.
ConfirmImpact
Das ConfirmImpact-Argument gibt an, wann die Aktion der
Funktion durch einen Aufruf der ShouldProcess-Methode bestätigt
werden soll. Beim Aufruf der ShouldProcess-Methode wird eine
Bestätigungsaufforderung nur angezeigt, wenn das ConfirmImpact-Argument
größer oder gleich dem Wert der Einstellungsvariablen
"$ConfirmPreference" ist. (Der Standardwert des Arguments ist
"Medium".) Geben Sie dieses Argument nur an, wenn das
SupportsShouldProcess-Argument auch angegeben wird.
SIEHE AUCH
about_Functions_Advanced
about_Functions_CmdletBindingAttribute
about_Functions_ParameterAttributes