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