Een cmdlet schrijven
In dit artikel wordt beschreven hoe u een cmdlet schrijft. De Send-Greeting cmdlet gebruikt één gebruikersnaam als invoer en schrijft vervolgens een begroeting naar die gebruiker. Hoewel de cmdlet niet veel werk doet, worden in dit voorbeeld de belangrijkste secties van een cmdlet gedemonstreerd.
Stappen voor het schrijven van een cmdlet
Als u de klasse wilt declaren als een cmdlet, gebruikt u het kenmerk Cmdlet. De Cmdlet kenmerk geeft u het werkwoord en het zelfstandig naamwoord voor de cmdlet-naam.
Zie CmdletAttribute-declaratievoor meer informatie over het kenmerk Cmdlet.
Geef de naam van de klasse op.
Geef op dat de cmdlet is afgeleid van een van de volgende klassen:
Gebruik het kenmerk Parameter om de parameters voor de cmdlet te definiëren. In dit geval wordt slechts één vereiste parameter opgegeven.
Zie ParameterAttribute-declaratievoor meer informatie over het kenmerk Parameter.
Overschrijven de invoerverwerkingsmethode die de invoer verwerkt. In dit geval wordt de methode System.Management.Automation.Cmdlet.ProcessRecord overgeslagen.
Gebruik de methode System.Management.Automation.Cmdlet.WriteObjectom de begroeting te schrijven. De begroeting wordt weergegeven in de volgende indeling:
Hello <UserName>!
Voorbeeld
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 + "!");
}
}
}
Zie ook
System.Management.Automation.Cmdlet
System.Management.Automation.PSCmdlet
System.Management.Automation.Cmdlet.ProcessRecord
Feedback
Feedback verzenden en weergeven voor