Attributdeklaration: Cmdlet

Das Cmdlet-Attribut identifiziert eine Microsoft .NET Framework-Klasse als Cmdlet und gibt das Verb und das Substantiv an, die zum Aufrufen des Cmdlets verwendet werden.

Syntax

[Cmdlet("verbName", "nounName")]
[Cmdlet("verbName", "nounName", Named Parameters...)]

Parameter

VerbName (System.String) Erforderlich. Gibt das Cmdlet-Verb an. Dieses Verb gibt die Aktion an, die vom Cmdlet ausgeführt wird. Weitere Informationen zu genehmigten Cmdlet-Verben finden Sie unter Cmdlet-Verbnamen und Erforderliche Entwicklungsrichtlinien.

NounName (System.String) Erforderlich. Gibt das Cmdlet-Nomen an. Dieses Nomen gibt die Ressource an, für die das Cmdlet fungiert. Weitere Informationen zu Cmdlet-Nomen finden Sie unter Cmdlet-Deklaration und Dringend empfohlenen Entwicklungsrichtlinien.

SupportsShouldProcess (System.Boolean) Optionaler benannter Parameter. True gibt an, dass das Cmdlet Aufrufe der System.Management.Automation.Cmdlet.ShouldProcess-Methode unterstützt, die dem Cmdlet die Möglichkeit bietet, den Benutzer vor einer Aktion zur Systemänderung aufforderungen zu lassen. False, der Standardwert, gibt an, dass das Cmdlet keine Aufrufe der System.Management.Automation.Cmdlet.ShouldProcess-Methode unterstützt. Weitere Informationen zu Bestätigungsanforderungen finden Sie unter Anfordern der Bestätigung.

ConfirmImpact (System.Management.Automation.Confirmimpact) Optionaler benannter Parameter. Gibt an, wann die Aktion des Cmdlets durch einen Aufruf der System.Management.Automation.Cmdlet.ShouldProcess-Methode bestätigt werden soll. System.Management.Automation.Cmdlet.ShouldProcess wird nur aufgerufen, wenn der ConfirmImpact-Wert des Cmdlets (standardmäßig Medium) gleich oder größer als der Wert der Variablen $ConfirmPreference ist. Dieser Parameter sollte nur angegeben werden, wenn SupportsShouldProcess der Parameter angegeben wird.

DefaultParameterSetName (System.String) Optionaler benannter Parameter. Gibt den Standardparametersatz an, den die Windows PowerShell Runtime zu verwenden versucht, wenn sie nicht bestimmen kann, welcher Parametersatz verwendet werden soll. Beachten Sie, dass diese Situation beseitigt werden kann, indem sie den eindeutigen Parameter jedes Parameters als obligatorischen Parameter festlegen.

Es gibt einen Fall, in Windows PowerShell den Standardparametersatz nicht verwenden kann, auch wenn ein Standardparametersatzname angegeben wird. Die Windows PowerShell Runtime kann nicht zwischen Parametersätzen unterscheiden, die ausschließlich auf dem Objekttyp basieren. Wenn Sie z. B. einen Parametersatz haben, der eine Zeichenfolge als Dateipfad akzeptiert, und einen anderen Satz, der ein FileInfo-Objekt direkt akzeptiert, kann Windows PowerShell nicht bestimmen, welcher Parametersatz basierend auf den an das Cmdlet übergebenen Werten verwendet werden soll, und es wird auch nicht der Standardparametersatz verwendet. Selbst wenn Sie in diesem Fall einen Standardparametersatznamen angeben, löst Windows PowerShell eine fehlermeldung mit mehrdeutigen Parametersatz aus.

SupportsTransactions (System.Boolean) Optionaler benannter Parameter. True gibt an, dass das Cmdlet innerhalb einer Transaktion verwendet werden kann. Wenn True angegeben wird, fügt die Windows PowerShell Runtime den UseTransaction Parameter der Parameterliste des Cmdlets hinzu. False, der Standardwert, gibt an, dass das Cmdlet nicht innerhalb einer Transaktion verwendet werden kann.

Bemerkungen

  • Zusammen werden das Verb und das Substantiv verwendet, um Ihr registriertes Cmdlet zu identifizieren und Ihr Cmdlet innerhalb eines Skripts aufzubringen.

  • Wenn das Cmdlet über die Windows PowerShell aufgerufen wird, ähnelt der Befehl dem folgenden Befehl:

VerbName-NounName

Die Confirm WhatIf Cmdletparameter und sind nur für Cmdlets verfügbar, die System.Management.Automation.Cmdlet.ShouldProcess-Aufrufe unterstützen.

Beispiel

Die folgende Klassendefinition verwendet das Cmdlet-Attribut, um die .NET Framework-Klasse für ein Get-Proc-Cmdlet zu identifizieren, das Informationen zu den prozessen abruft, die auf dem lokalen Computer ausgeführt werden.

[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet

Weitere Informationen zum Cmdlet Get-Proc finden Sie unter GetProc Tutorial.

Weitere Informationen

Schreiben eines Windows PowerShell-Cmdlets