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
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.
Especifique o nome da classe.
Especifique que o cmdlet deriva de uma das seguintes classes:
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.
Substitua o método de processamento de entrada que processa a entrada. Nesse caso, o método System.Management.Automation.Cmdlet.ProcessRecord é substituído.
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
Writing a Windows PowerShell Cmdlet (Escrevendo um Cmdlet do Windows PowerShell)