C# .NET プログラムを PowerShell コマンドレットに変換するのを手伝ってくれる人はいますか? 私はこの分野に非常に慣れていません。このチェックポイントから抜け出すために私を助けてください!
よろしく、
アルン
C# .NET プログラムを PowerShell コマンドレットに変換するのを手伝ってくれる人はいますか? 私はこの分野に非常に慣れていません。このチェックポイントから抜け出すために私を助けてください!
よろしく、
アルン
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
これを行うためのReflectorのアドオンがあります。例を含む良い記事があります:http://msmvps.com/blogs/paulomorgado/archive/2009/09/18/powershell-for-the-net-developer.aspx *
.NET ReflectorにはCodePlexに一連のアドオンがあり、そのうちの1つはPowerShellアドオンであり、コードを直接PowerShellに逆アセンブルできます。
この例では、SharePointのSPUtilityライブラリからメソッドChangeAccountPasswordを開いています。
これで、ターゲットをC#からPowerShellに変更できます。
ヘルパーメソッドをC#からPowerShellに変換する必要がある場合、またはPowerShell構文を初めて使用する場合は、このツールが非常に役立ちます。
[*]リンクは2015年10月12日をもって無効になっています。
まず、PowerShell テンプレートを使用して .cs ファイルを DLL に変換する必要があります。次に、を使用してpssnapin
、getproc
それを DLL に変換できます。