Compartilhar via


Como escrever um cmdlet

Este artigo mostra como escrever um cmdlet. O Send-Greeting cmdlet recebe um único nome de usuário como entrada e, em seguida, grava uma saudação para esse usuário. Embora o cmdlet não faça muito trabalho, este exemplo demonstra as seções principais de um cmdlet.

Etapas para escrever um cmdlet

  1. Para declarar a classe como um cmdlet, use o atributo Cmdlet . O atributo Cmdlet especifica o verbo e o substantivo para o nome do cmdlet.

    Para obter mais informações sobre o atributo Cmdlet, consulte Declaração cmdletAttribute.

  2. Especifique o nome da classe.

  3. Especifique que o cmdlet deriva de uma das seguintes classes:

  4. Para definir os parâmetros para o cmdlet, use o atributo Parameter. Nesse caso, apenas um parâmetro necessário é especificado.

    Para obter mais informações sobre o atributo Parameter, consulte ParameterAttribute Declaration.

  5. Substitua o método de processamento de entrada que processa a entrada. Nesse caso, o método System.Management.Automation.Cmdlet.ProcessRecord é substituído.

  6. Para gravar a saudação, use o método System.Management.Automation.Cmdlet.WriteObject. A saudação é exibida no seguinte formato:

    Hello <UserName>!
    

Exemplo

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

Confira também

System.Management.Automation.Cmdlet

System.Management.Automation.PSCmdlet

System.Management.Automation.Cmdlet.ProcessRecord

System.Management.Automation.Cmdlet.WriteObject

Declaração cmdletAttribute

Declaração ParameterAttribute

Writing a Windows PowerShell Cmdlet (Escrevendo um Cmdlet do Windows PowerShell)