如何将.cs文件转换为PowerShell cmdlet?

时间:2008-12-05 08:15:58

标签: c# powershell cmdlet

有人可以帮我将C#.NET程序转换为PowerShell cmdlet吗?我对这个领域很新。请帮我离开这个检查站!

此致

阿伦

3 个答案:

答案 0 :(得分:13)

添加对 System.Management.Automation 的引用,创建一个继承自 Cmdlet 的类并覆盖 ProcessRecord 方法:

[Cmdlet(VerbsCommon.Get, "Double")]
public class GetDouble : Cmdlet
{
    [Parameter]
    public int SomeInput { get; set; }

    protected override void ProcessRecord()
    {
        WriteObject(SomeInput * 2);
    }
}

添加安装程序:

[RunInstaller(true)]
public class MySnapin : PSSnapIn
{
    public override string Name { get { return "MyCommandlets"; } }
    public override string Vendor { get { return "MyCompany"; } }
    public override string Description { get { return "Does unnecessary aritmetic."; } }
}

安装命令行开关程序集:

Installutil /i myassembly.dll

并添加:

Add-PsSnapin MyCommandlets

答案 1 :(得分:2)

首先,您应该使用PowerShell模板将.cs文件转换为DLL。然后使用pssnapingetproc,您可以将其转换为DLL。

答案 2 :(得分:2)

Reflector有一个附加组件可以做到这一点。 以下是一篇文章:http://msmvps.com/blogs/paulomorgado/archive/2009/09/18/powershell-for-the-net-developer.aspx *

  

.NET Reflector有an array of add-ons on CodePlex,其中一个   是the PowerShell add-on,允许您直接反汇编代码   进入PowerShell。

     

在此示例中,我将打开方法ChangeAccountPassword   SharePoint中的SPUtility库:

     

image

     

我现在可以将目标从C#更改为PowerShell。

     

image

     

当您需要将帮助方法从C#转换为PowerShell或者如果   你是PowerShell语法的新手,这个工具真有帮助!

[*]截至2015年12月10日该链接已失效。