当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何编写简单的 Cmdlet

作者:精品下载站 日期:2024-12-14 02:50:58 浏览:11 分类:玩电脑

如何编写简单的 Cmdlet


本文介绍如何编写 cmdlet。 Send-Greeting cmdlet 将单个用户名作为输入,然后向该用户写入问候语。尽管 cmdlet 没有做太多工作,但此示例演示了 cmdlet 的主要部分。

编写 cmdlet 的步骤

  1. 要将类声明为 cmdlet,请使用 Cmdlet 属性。 Cmdlet 属性指定 cmdlet 名称的动词和名词。

    有关 Cmdlet 属性的详细信息,请参阅 CmdletAttribute 声明。

  2. 指定类的名称。

  3. 指定 cmdlet 派生自以下任一类:

    • 系统.管理.自动化.Cmdlet
  4. 系统管理自动化.PSCmdlet
  5. 要定义 cmdlet 的参数,请使用参数属性。在这种情况下,仅指定一个必需参数。

    有关 Parameter 属性的详细信息,请参阅 ParameterAttribute 声明。

  6. 重写处理输入的输入处理方法。在这种情况下,System.Management.Automation.Cmdlet.ProcessRecord 方法将被重写。

  7. 要编写问候语,请使用 System.Management.Automation.Cmdlet.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

系统.管理.自动化.Cmdlet.ProcessRecord

系统.管理.自动化.Cmdlet.WriteObject

Cmdlet属性声明

参数属性声明

编写 Windows PowerShell Cmdlet

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯