4

プログラムは c# .net で作成しました。それをpowershellコマンドレットに変換したい。pssnapin および getproc プログラムを使用するように指示されました。誰でも私を助けてくれますか..

よろしくアルン

4

6 に答える 6

4

PowerShell コマンドレットを作成するには、Bart De Smet (B#) による「Easy Windows PowerShell コマンドレットの開発とデバッグ」を読むことをお勧めします。これは、コマンドレットの作成とデバッグに関する優れたチュートリアルです (缶に書かれていることを実行します!)

また、Professional Windows PowerShell Programming (ISBN 978-0470173930、(ISBN-10) 0470173939) は、コマンドレットとプロバイダーの作成に非常に適しています。

于 2009-07-05T00:01:29.540 に答える
2

したがって、継承できる PSCmdlet-Class [from medata] は次のとおりです。

namespace System.Management.Automation
{
    public abstract class PSCmdlet : Cmdlet
    {
        protected PSCmdlet();

        public PSHost Host { get; }
        public CommandInvocationIntrinsics InvokeCommand { get; }
        public ProviderIntrinsics InvokeProvider { get; }
        public InvocationInfo MyInvocation { get; }
        public string ParameterSetName { get; }
        public SessionState SessionState { get; }

        public PathInfo CurrentProviderLocation(string providerId);
        public Collection<string> GetResolvedProviderPathFromPSPath(string path, out ProviderInfo provider);
        public string GetUnresolvedProviderPathFromPSPath(string path);
        public object GetVariableValue(string name);
        public object GetVariableValue(string name, object defaultValue);
    }
}

Powershell は署名されていないコードを実行しないため、コマンドレットをロードするには、追加で署名する必要があります。

于 2008-12-12T08:11:37.730 に答える
1

この記事をご覧ください。Creating PowerShell Cmdlets in VB 2005 . VB 2005 を使用していますが、プロセスは C# と同じです。

完全な開示、私は記事を書きましたが、あなたがそれを見てお金を稼ぐことはありません. :)

于 2008-12-12T13:10:37.583 に答える
1

Windows PowerShell テンプレートをインストールすると、.cs ファイルを dll に変換できる pssnapin プログラムを取得できます。次に、msdn で getproc プログラムを検索します。正確には覚えていませんが、最初に実行されるメソッドがあります。そのメソッドでdllファイルを呼び出します。コードは覚えていませんが、これが実行する手順です。

于 2008-12-12T06:38:25.890 に答える
0

PowerTimeプロジェクト(http://code.google.com/p/powertime/)はオープンソースであり、多数のコマンドレットを実装しています。デモを始めるのに適しています。

于 2008-12-15T13:10:51.247 に答える
0

http://blogs.msdn.com/daiken/も確認してください。特に、2007 年 2 月から 2007 年 6 月までのすべての月。Visual Studio テンプレート リンク (2005 用、Express でも機能) と、いくつかの例/ラボがあります。

于 2008-12-12T13:23:59.883 に答える