Så här skriver du en cmdlet

Den här artikeln visar hur du skriver en cmdlet. Send-GreetingCmdlet: en använder ett enda användar namn som indata och skriver sedan en hälsning till användaren. Även om cmdleten inte fungerar mycket, visar det här exemplet de viktigaste avsnitten i en cmdlet.

Steg för att skriva en cmdlet

  1. Om du vill deklarera klassen som en-cmdlet använder du cmdlet -attributet. Cmdlet -attributet anger verbet och Substantiv för cmdlet-namnet.

    Mer information om cmdlet -attributet finns i CmdletAttribute-deklaration.

  2. Ange namnet på klassen.

  3. Ange att cmdleten härleds från någon av följande klasser:

  4. Om du vill definiera parametrarna för cmdleten använder du attributet parameter . I det här fallet anges bara en obligatorisk parameter.

    Mer information om attributet parameter finns i ParameterAttribute- deklaration.

  5. Åsidosätt den metod för bearbetning av indata som bearbetar indata. I det här fallet åsidosätts metoden system. Management. Automation. cmdlet. ProcessRecord .

  6. Om du vill skriva hälsningen använder du metoden system. Management. Automation. cmdlet. WriteObject. Hälsningen visas i följande format:

    Hello <UserName>!
    

Exempel

using System.Management.Automation;  // Windows PowerShell assembly.

namespace SendGreeting
{
  // Declare the class as a cmdlet and specify the
  // appropriate verb and noun for the cmdlet name.
  [Cmdlet(VerbsCommunications.Send, "Greeting")]
  public class SendGreetingCommand : Cmdlet
  {
    // Declare the parameters for the cmdlet.
    [Parameter(Mandatory=true)]
    public string Name
    {
      get { return name; }
      set { name = value; }
    }
    private string name;

    // Override the ProcessRecord method to process
    // the supplied user name and write out a
    // greeting to the user by calling the WriteObject
    // method.
    protected override void ProcessRecord()
    {
      WriteObject("Hello " + name + "!");
    }
  }
}

Se även

System. Management. Automation. cmdlet

System. Management. Automation. PSCmdlet

System. Management. Automation. cmdlet. ProcessRecord

System. Management. Automation. cmdlet. WriteObject

CmdletAttribute-deklaration

ParameterAttribute-deklaration

Skriva en Windows PowerShell-cmdlet