Dela via


Deklaration av attributet Cmdlet

Cmdlet-attributet identifierar en Microsoft .NET Framework-klass som en cmdlet och anger verbet och substantivet som används för att anropa cmdleten.

Syntax

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

Parameterar

VerbName (System.String) krävs. Anger cmdlet-verbet. Det här verbet anger den åtgärd som cmdleten vidtar. Mer information om godkända cmdlet-verb finns i Cmdlet Verb Names and Required Development Guidelines.

NounName (System.String) krävs. Anger cmdletens substantiv. Det här substantivet anger den resurs som cmdleten agerar på. Mer information om cmdlet-substantiv finns i Cmdlet-deklaration och starkt uppmuntrade utvecklingsriktlinjer.

SupportsShouldProcess (System.Boolean) Valfri namngiven parameter. True anger att cmdleten stöder anrop till metoden System.Management.Automation.Cmdlet.ShouldProcess, vilket ger cmdleten ett sätt att fråga användaren innan en åtgärd som ändrar systemet utförs. Falseanger standardvärdet att cmdleten inte stöder anrop till metoden System.Management.Automation.Cmdlet.ShouldProcess. Mer information om bekräftelsebegäranden finns i Begära bekräftelse.

ConfirmImpact (System.Management.Automation.ConfirmImpact) Valfri namngiven parameter. Anger när åtgärden för cmdleten ska bekräftas av ett anrop till metoden System.Management.Automation.Cmdlet.ShouldProcess. System.Management.Automation.Cmdlet.ShouldProcess anropas endast när ConfirmImpact-värdet för cmdleten (som standard Medel) är lika med eller större än värdet för variabeln $ConfirmPreference. Den här parametern bör endast anges när parametern SupportsShouldProcess anges.

DefaultParameterSetName (System.String) Valfri namngiven parameter. Anger standardparameteruppsättningen som Windows PowerShell-körningen försöker använda när den inte kan avgöra vilken parameter som ska användas. Observera att den här situationen kan elimineras genom att göra den unika parametern för varje parameter till en obligatorisk parameter.

Det finns ett fall där Windows PowerShell inte kan använda standardparameteruppsättningen även om ett standardnamn för parameteruppsättningen har angetts. Windows PowerShell-körningen kan inte skilja mellan parameteruppsättningar baserat enbart på objekttyp. Om du till exempel har en parameteruppsättning som tar en sträng som filsökväg och en annan uppsättning som tar ett FileInfo- objekt direkt, kan Windows PowerShell inte avgöra vilken parameter som ska användas baserat på de värden som skickas till cmdleten, och den använder inte heller standardparameteruppsättningen. I det här fallet, även om du anger ett standardnamn för parameteruppsättningen, genererar Windows PowerShell ett felmeddelande om tvetydiga parameteruppsättningar.

SupportsTransactions (System.Boolean) Valfri namngiven parameter. True anger att cmdleten kan användas i en transaktion. När True anges lägger Windows PowerShell-körningen till parametern UseTransaction i parameterlistan för cmdleten. Falseanger standardvärdet att cmdleten inte kan användas i en transaktion.

Anmärkningar

  • Tillsammans används verbet och substantiven för att identifiera din registrerade cmdlet och för att anropa din cmdlet i ett skript.

  • När cmdleten anropas från Windows PowerShell-konsolen liknar kommandot följande kommando:

VerbName-NounName

Cmdlet-parametrarna Confirm och WhatIf är endast tillgängliga för cmdletar som stöder System.Management.Automation.Cmdlet.ShouldProcess-anrop.

Exempel

Följande klassdefinition använder cmdlet-attributet för att identifiera .NET Framework-klassen för en Get-Proc-cmdlet som hämtar information om de processer som körs på den lokala datorn.

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

Mer information om cmdleten Get-Proc finns i GetProc Tutorial.

Se även

Skriva en Windows PowerShell-cmdlet