如何写PowerShell Snap-in
1. 创建一个“Class Library”。
2. 在解决方案资源管理器, 增加两个引用System.Configuration.Install 和 System.Management.Automation。
4. 编写CS文件并编译,到.\obj\Debug 拷贝CNSytemCenterSnapIn.dll 和 CNSytemCenterSnapIn.pdb 到“C:\”。
5. 打开CMD,注册CNSytemCenterSnapIn.dll。
>cd “C:\Windows\Microsoft.NET\Framework64\v2.0.50727”
>InstallUtil.exe “CNSytemCenterSnapIn.dll”
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//add some references
using System.Management.Automation;
using System.ComponentModel;
namespace CNSytemCenterSayHelloWorld
{
[Cmdlet("Say", "HelloWorld")]
//
public class ExecuteShell : Cmdlet
{
private string argus;
[Parameter(Position = 0)]
[ValidateNotNullOrEmpty]
public string Args
{
get { return argus; }
set { argus = value; }
}
protected override void ProcessRecord()
{
if (argus != null && argus.Length > 0)
{
Console.WriteLine("Hello World:" + argus);
}
}
}
[RunInstaller(true)]
public class CNSytemCenterHelloWord : PSSnapIn
{
public CNSytemCenterHelloWord()
: base()
{
}
// 确定加载PSsnapIn的名字,在Add-PSSnapin时会用到.
public override string Name
{
get { return "CNSytemCenterSayHelloWorld"; }
}
public override string Vendor
{
get { return "CNSytemCenter"; }
}
public override string VendorResource
{
get
{
return "CNSytemCenterSayHelloWorld,CNSytemCenter";
}
}
public override string Description
{
get { return "This is a demo, design by CNSytemCenter"; }
}
}
}
III、使用:
打开PowerShell:
>Add-PSsnapIn CNSytemCenterSnapIn
>Say-HelloWord “CNBlogs”
posted on 2009-12-31 16:22 System Center 阅读(785) 评论(0) 编辑 收藏 举报