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

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

问候,

阿伦

添加对System.Management.Automation的引用,创建一个inheritance自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 

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

.NET Reflector 在CodePlex上有一系列附加组件 ,其中一个是PowerShell附加组件,它允许您将代码直接反汇编到PowerShell中。

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

图片

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

图片

当您需要将辅助方法从C#转换为PowerShell时,或者如果您不熟悉PowerShell语法,此工具确实非常有用!

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

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