Parancsmag írása

Ez a cikk bemutatja, hogyan írhat parancsmagokat. A Send-Greeting parancsmag egyetlen felhasználónevet vesz fel bemenetként, majd üdvözlést ír a felhasználónak. Bár a parancsmag nem sok munkát tesz, ez a példa egy parancsmag fő szakaszait mutatja be.

Parancsmag írásának lépései

  1. Az osztály parancsmagként való deklarálható a Parancsmag attribútummal. A Parancsmag attribútum a parancsmag nevének műveletét és főnevét határozza meg.

    A Parancsmag attribútummal kapcsolatos további információkért lásd: CmdletAttribute Deklaráció.

  2. Adja meg az osztály nevét.

  3. Adja meg, hogy a parancsmag az alábbi osztályok valamelyikét tartalmazza:

  4. A parancsmag paramétereinek meghatározásához használja a Paraméter attribútumot. Ebben az esetben csak egy kötelező paraméter van megadva.

    A Paraméter attribútummal kapcsolatos további információkért lásd: ParameterAttribute Deklaráció.

  5. Bírálja felül a bemenetet feldolgozó bemeneti feldolgozási módszert. Ebben az esetben a System.Management.Automation.Cmdlet.ProcessRecord metódus felül van bírálva.

  6. Az üdvözlés írásához használja a System.Management.Automation.Cmdlet.WriteObject metódust. Az üdvözlés a következő formátumban jelenik meg:

    Hello <UserName>!
    

Példa

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 + "!");
    }
  }
}

Lásd még

System.Management.Automation.Cmdlet

System.Management.Automation.PSCmdlet

System.Management.Automation.Cmdlet.ProcessRecord

System.Management.Automation.Cmdlet.WriteObject

CmdletAttribute-deklaráció

ParameterAttribute-deklaráció

Windows PowerShell-parancsmag írása