【问题标题】:add-windowsfeature is not recognized无法识别添加 Windows 功能
【发布时间】:2013-01-17 00:27:28
【问题描述】:

我正在尝试使用 C# 运行 powershell 命令,但在调用管道时我不断收到错误消息。我想知道是否有人知道为什么我不断收到 add-windowsfeature 无法识别。提前致谢。

private static void RunScript(string name)
{
    InitialSessionState initial = InitialSessionState.CreateDefault();
    initial.ImportPSModule(new[] { "ServerManager"});
    Runspace runspace = RunspaceFactory.CreateRunspace(initial); 
    // create Powershell runspace

    runspace.Open();

    RunspaceInvoke runSpaceInvoker = new RunspaceInvoke(runspace);
    runSpaceInvoker.Invoke("Set-ExecutionPolicy Unrestricted");


    Pipeline pipeline = runspace.CreatePipeline();
    Command cm = new Command("Import-module");
    cm.Parameters.Add("name","ServerManager");
    pipeline.Commands.Add(cm);
    Command command = new Command("add-windowsfeature"); 
    command.Parameters.Add(null, name);  
    pipeline.Commands.Add(command);

    var a = pipeline.Invoke();
    foreach (var psObject in a)
    {
        Console.WriteLine(psObject);
    }

    runspace.Close();
}

【问题讨论】:

  • 我不认为 ServerManager 模块被正确导入。您可以在尝试add-windowsfeature 之前先执行import-module 命令并查看它给出的结果吗?
  • 我尝试了以下..但同样的错误。 RunspaceInvoke runSpaceInvokerImport = new RunspaceInvoke(runspace); runSpaceInvokerImport.Invoke("Import-module ServerManager");
  • 没有新的错误。 Command command = new Command("add-windowsfeature");说它不是有效的 cmdlet。我开始认为我应该包含 add-windowsfeature 的完整路径....
  • 暂时将您的 add-windowsfeature 调用替换为“Get-Module”,以验证您是否加载了正确的模块。 ServerManager 是否依赖于另一个可能不可用的模块?
  • @Zuzlx 我提到当你执行导入它的命令时它会说什么。您应该能够读取“模块已成功加载”行的输出。您需要在继续使用 add-windows 功能之前验证这一点,否则您将继续获得相同的结果。

标签: c# windows powershell exception-handling


【解决方案1】:

ServerManager 是一个仅限 64 位的模块(它不存在于 C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules 下,但将存在于 C:\Windows\System32\WindowsPowerShell\v1.0\Modules 下)。编译为 x64,您的代码应该可以工作。

【讨论】:

  • 谢谢。是的,如果我没记错的话,这是一个 64 v 32 的问题。标记为已回答。
猜你喜欢
  • 1970-01-01
  • 2021-01-06
  • 1970-01-01
  • 2021-01-22
  • 2019-08-01
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多