共用方式為


如何撰寫 Cmdlet

本文說明如何撰寫 Cmdlet。 此 Send-Greeting Cmdlet 會採用單一使用者名稱做為輸入,然後將問候語寫入該使用者。 雖然 Cmdlet 不會執行太多工作,但此範例會示範 Cmdlet 的主要區段。

撰寫 Cmdlet 的步驟

  1. 若要將類別宣告為 Cmdlet,請使用 Cmdlet 屬性。 Cmdlet 屬性會指定 Cmdlet 名稱的動詞和名詞。

    如需 Cmdlet 屬性的詳細資訊,請參閱 CmdletAttribute宣告。

  2. 指定類別的名稱。

  3. 指定 Cmdlet 衍生自下列其中一個類別:

  4. 若要定義 Cmdlet 的參數,請使用 參數 屬性。 在此情況下,只會指定一個必要參數。

    如需 參數 屬性的詳細資訊,請參閱 ParameterAttribute宣告。

  5. 覆寫處理輸入的輸入處理方法。 在此情況下,會覆寫 ProcessRecord 方法。

  6. 若要撰寫問候語,請使用 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 + "!");
    }
  }
}

另請參閱

管理. Cmdlet

PSCmdlet。

System.Management.Automation.Cmdlet.ProcessRecord

System.Management.Automation.Cmdlet.WriteObject

CmdletAttribute 宣告

ParameterAttribute 宣告

撰寫 Windows PowerShell Cmdlet