コマンドレットを記述する方法
この記事では、コマンドレットを記述する方法について説明します。 Send-Greeting
コマンドレットは、入力として1つのユーザー名を受け取り、そのユーザーにあいさつを書き込みます。 このコマンドレットは多くの作業を実行しませんが、この例ではコマンドレットの主要なセクションを示しています。
コマンドレットを記述する手順
クラスをコマンドレットとして宣言するには、 コマンドレット の属性を使用します。 コマンドレット 属性では、コマンドレット名の動詞と名詞を指定します。
コマンドレット属性の詳細については、「コマンドレット属性の宣言」を参照してください。
クラスの名前を指定します。
コマンドレットが次のいずれかのクラスから派生するように指定します。
コマンドレットのパラメーターを定義するには、 Parameter 属性を使用します。 この場合、必須パラメーターが1つだけ指定されています。
Parameter 属性の詳細については、「 parameterattribute 宣言」を参照してください。
入力を処理する入力処理メソッドをオーバーライドします。 この場合は、システムの管理.... コマンドレット がオーバーライドされます。
あいさつ文を記述するには、 WriteObjectメソッドを使用します。 あいさつは次の形式で表示されます。
Hello <UserName>!
例
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 + "!");
}
}
}