Share via


Escritura de un cmdlet

En este artículo se muestra cómo escribir un cmdlet. El cmdlet toma un nombre de usuario único como entrada y, Send-Greeting a continuación, escribe un saludo a ese usuario. Aunque el cmdlet no hace mucho trabajo, en este ejemplo se muestran las secciones principales de un cmdlet.

Pasos para escribir un cmdlet

  1. Para declarar la clase como un cmdlet, use el atributo Cmdlet. El atributo Cmdlet especifica el verbo y el nombre del nombre del cmdlet.

    Para obtener más información sobre el atributo Cmdlet, vea CmdletAttribute Declaration.

  2. Especifique el nombre de la clase.

  3. Especifique que el cmdlet se deriva de cualquiera de las clases siguientes:

  4. Para definir los parámetros del cmdlet, use el atributo Parameter. En este caso, solo se especifica un parámetro necesario.

    Para obtener más información sobre el atributo Parameter, vea ParameterAttribute Declaration.

  5. Invalide el método de procesamiento de entrada que procesa la entrada. En este caso, se invalida el método System.Management.Automation.Cmdlet.ProcessRecord.

  6. Para escribir el saludo, use el método System.Management.Automation.Cmdlet.WriteObject. El saludo se muestra en el formato siguiente:

    Hello <UserName>!
    

Ejemplo

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

Consulte también

System.Management.Automation.Cmdlet

System.Management.Automation.PSCmdlet

System.Management.Automation.Cmdlet.ProcessRecord

System.Management.Automation.Cmdlet.WriteObject

Declaración de CmdletAttribute

Declaración de ParameterAttribute

Escribir un cmdlet de Windows PowerShell