System.Management.Automation.PSArgumentException

У меня проблема с запуском скрипта PowerShell из моего кода C#. Скрипт содержит функции из оснастки PowerShell VMWare.View.Broker, Я делаю это следующим образом:

PSSnapInException psEx;
RunspaceConfiguration runConfig = RunspaceConfiguration.Create();
runConfig.AddPSSnapIn("VMWare.View.Broker", out psEx);
using (Runspace runspace = RunspaceFactory.CreateRunspace(runConfig))
{
    runspace.Open();
    using (Pipeline pipeline = runspace.CreatePipeline())
    {
        string scriptContent = ReadScriptFromFile(scriptPath);
        if (!String.IsNullOrEmpty(scriptContent))
        {
            pipeline.Commands.AddScript(scriptContent);
            var results = pipeline.Invoke();
            runspace.Close();
            foreach (var result in results)
            {
                Console.WriteLine(result);
                if(!String.IsNullOrEmpty(result.ToString()))
                    scriptResult += result+"_";
            }
        }
    }
}

Когда я запускаю свою программу с целевой платформой x64, она работает нормально. Но когда я пытаюсь выполнить свою программу с x86, я получаю следующее исключение (мне нужно запустить программу с x86 из-за других зависимостей):

System.Management.Automation.PSArgumentException: The Windows PowerShell snap-in
 'VMWare.View.Broker' is not installed on this machine.

 at System.Management.Automation.PSSnapInReader.ReadOne(RegistryKey mshSnapInRoot, String mshsnapinId)

1 ответ

Оснастка Vmware является 64-битной, а не 32-битной. Ответ в сообщении об ошибке. Вы можете попытаться найти 32-битную оснастку Vmware и установить ее.

Другие вопросы по тегам