Schreiben eines Cmdlets
In diesem Artikel erfahren Sie, wie Sie ein Cmdlet schreiben. Das Send-Greeting
Cmdlet verwendet einen einzelnen Benutzernamen als Eingabe und schreibt dann eine Begrüßung an diesen Benutzer. Obwohl das Cmdlet nicht viel arbeitet, veranschaulicht dieses Beispiel die hauptabschnitte eines Cmdlets.
Schritte zum Schreiben eines Cmdlets
Um die Klasse als Cmdlet zu deklarieren, verwenden Sie das Cmdlet-Attribut. Das Cmdlet-Attribut gibt das Verb und das Nomen für den Cmdlet-Namen an.
Weitere Informationen zum Cmdlet-Attribut finden Sie unter CmdletAttribute-Deklaration.
Geben Sie den Namen der Klasse an.
Geben Sie an, dass das Cmdlet von einer der folgenden Klassen abgeleitet wird:
Verwenden Sie das Parameter-Attribut, um die Parameter für das Cmdlet zu definieren. In diesem Fall wird nur ein erforderlicher Parameter angegeben.
Weitere Informationen zum Parameter-Attribut finden Sie unter ParameterAttribute-Deklaration.
Überschreiben Sie die Eingabeverarbeitungsmethode, die die Eingabe verarbeitet. In diesem Fall wird die System.Management.Automation.Cmdlet.ProcessRecord-Methode überschrieben.
Verwenden Sie zum Schreiben der Begrüßung die Methode System.Management.Automation.Cmdlet.WriteObject. Die Begrüßung wird im folgenden Format angezeigt:
Hello <UserName>!
Beispiel
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 + "!");
}
}
}
Weitere Informationen
System.Management.Automation.Cmdlet
System.Management.Automation.PSCmdlet
System.Management.Automation.Cmdlet.ProcessRecord
System.Management.Automation.Cmdlet.WriteObject
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für