7

C# .NET プログラムを PowerShell コマンドレットに変換するのを手伝ってくれる人はいますか? 私はこの分野に非常に慣れていません。このチェックポイントから抜け出すために私を助けてください!

よろしく、

アルン

4

3 に答える 3

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
于 2008-12-05T08:30:24.263 に答える
2

これを行うための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日をもって無効になっています。

于 2012-01-11T17:07:18.003 に答える
2

まず、PowerShell テンプレートを使用して .cs ファイルを DLL に変換する必要があります。次に、を使用してpssnapingetprocそれを DLL に変換できます。

于 2008-12-12T08:03:16.030 に答える