0

誰かが、Csharp関数内の次のコードの理由を理解するのを手伝ってくれますか?

    Runspace runspace = RunspaceFactory.CreateRunspace();
    runspace.Open();
    Pipeline pipe = runspace.CreatePipeline();
    Command connectToActDir = new Command("connect-QADService");
    connectToActDir.Parameters.Add("Service", "'ip:port'");
    connectToActDir.Parameters.Add("ConnectionAccount", "'user.local\administrator'");
    connectToActDir.Parameters.Add("ConnectionPassword", "'password'");
    pipe.Commands.Add(connectToActDir);
    pipe.Invoke();

次のエラーが発生します

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

ActiveRoles コマンドレットがインストールされている間、Power Shell で同等のコマンドを実行すると成功します。プロジェクト参照でいくつかの dll が欠落していますか? ありがとう

4

1 に答える 1

1

Quest ActiveRoles コマンドレットは、PowerShell の一部ではないため、既定では PowerShell セッションに読み込まれません。

PowerShell 3 は、必要に応じてモジュールを自動的に読み込みます。このようにPowerShellを使用したことがないため、RunSpaceを使用するときにこれが当てはまるかどうかはわかりません。

PowerShell プロファイルに Quest スナップインまたはモジュールをロードしますか? C# コードで同等の操作を行う必要があります。

于 2013-08-26T00:42:34.170 に答える