1

C# コードから PowerShell コマンドを実行するために、「System.Management.Automation.dll」を使用しました。しかし、Service Fabric コマンドを実行できませんでした。

Service Fabric コマンドを実行すると、次のエラーが表示されます

どのモジュール ディレクトリにも有効なモジュール ファイルが見つからなかったため、指定されたモジュール 'ServiceFabric' は読み込まれませんでした

「Connect-ServiceFabricCluster」という用語は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認してから再試行してください。

私が使用したコードは

 var shell = PowerShell.Create();
 shell.Commands.AddScript("Import-Module ServiceFabric");
 shell.Commands.AddScript("Connect-ServiceFabricCluster");
 var result = shell.Invoke();

これらのコマンドは、PowerShell コマンド ウィンドウから直接実行したところ、正常に機能しました。

上記のコードは、他の PowerShell コマンドに対して正常に機能します

また、物理パス「C:\Windows\System32\WindowsPowerShell\v1.0\Modules\ServiceFabric」を使用してモジュールをロードしようとしましたが、どちらも機能しませんでした。

4

1 に答える 1

1

C# から powershell コマンドを呼び出そうとしているのはなぜですか? すべての powershell コマンドは API と同等です。つまり、コマンドごとに、直接使用できる API があります。FabricClient を作成し、必要なメソッドを呼び出すだけです。

于 2015-12-30T18:39:24.407 に答える