プログラムは c# .net で作成しました。それをpowershellコマンドレットに変換したい。pssnapin および getproc プログラムを使用するように指示されました。誰でも私を助けてくれますか..
よろしくアルン
プログラムは c# .net で作成しました。それをpowershellコマンドレットに変換したい。pssnapin および getproc プログラムを使用するように指示されました。誰でも私を助けてくれますか..
よろしくアルン
PowerShell コマンドレットを作成するには、Bart De Smet (B#) による「Easy Windows PowerShell コマンドレットの開発とデバッグ」を読むことをお勧めします。これは、コマンドレットの作成とデバッグに関する優れたチュートリアルです (缶に書かれていることを実行します!)
また、Professional Windows PowerShell Programming (ISBN 978-0470173930、(ISBN-10) 0470173939) は、コマンドレットとプロバイダーの作成に非常に適しています。
したがって、継承できる 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 は署名されていないコードを実行しないため、コマンドレットをロードするには、追加で署名する必要があります。
この記事をご覧ください。Creating PowerShell Cmdlets in VB 2005 . VB 2005 を使用していますが、プロセスは C# と同じです。
完全な開示、私は記事を書きましたが、あなたがそれを見てお金を稼ぐことはありません. :)
Windows PowerShell テンプレートをインストールすると、.cs ファイルを dll に変換できる pssnapin プログラムを取得できます。次に、msdn で getproc プログラムを検索します。正確には覚えていませんが、最初に実行されるメソッドがあります。そのメソッドでdllファイルを呼び出します。コードは覚えていませんが、これが実行する手順です。
PowerTimeプロジェクト(http://code.google.com/p/powertime/)はオープンソースであり、多数のコマンドレットを実装しています。デモを始めるのに適しています。
http://blogs.msdn.com/daiken/も確認してください。特に、2007 年 2 月から 2007 年 6 月までのすべての月。Visual Studio テンプレート リンク (2005 用、Express でも機能) と、いくつかの例/ラボがあります。