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”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

而 ActiveRoles cmdlet 已安装并在 power shell 中运行等效命令成功。我错过了项目引用中的一些 dll 吗?谢谢

4

1 回答 1

1

默认情况下,Quest ActiveRoles cmdlet 不会加载到 PowerShell 会话中,因为它们不是 PowerShell 的一部分。

PowerShell 3 将在需要时自动加载模块。我不知道在使用 RunSpace 时这是否成立,因为我从未以这种方式使用过 PowerShell。

您是否在 PowerShell 配置文件中加载 Quest 管理单元或模块?您需要在 C# 代码中执行等效操作。

于 2013-08-26T00:42:34.170 回答