术语';连接QADService';未被识别为cmdlet的名称..在C#函数内部

本文关键字:内部 函数 识别 QADService 连接 术语 cmdlet | 更新日期: 2023-09-27 18:29:03

有人能帮助理解为什么以下代码在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,并在powershell中成功运行等效命令。我是否遗漏了项目引用中的某些dll?感谢

术语';连接QADService';未被识别为cmdlet的名称..在C#函数内部

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

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

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