Я пытаюсь перезапустить виртуальную машину с помощью powershell в C#.Перезагрузка VM с помощью Powershell
Сначала я пытаюсь запустить команду GET-VM. Он дает исключение на линии:
PSSnapInInfo psinfo = runspaceConfig.AddPSSnapIn("System.Management.Automation", out snapEx);
в приведенном ниже кодексе. Может кто-то сказать мне, где я делаю это неправильно.
Сообщение исключения: Нет оснастки не было зарегистрировано для Windows PowerShell версии 2
Мой код:
Command command = new Command("Get-VM");
command.Parameters.Add("Name", "PIE01010299");
RunspaceConfiguration runspaceConfig = RunspaceConfiguration.Create();
PSSnapInException snapEx = null;
PSSnapInInfo psinfo = runspaceConfig.AddPSSnapIn("System.Management.Automation", out snapEx);
Runspace runSpace = RunspaceFactory.CreateRunspace(runspaceConfig);
runSpace.Open();
Pipeline pipeline = runSpace.CreatePipeline();
pipeline.Commands.Add(command);
Collection<PSObject> output = pipeline.Invoke();
runSpace.Close();
foreach (PSObject psObject in output)
{
Console.WriteLine(psObject.ToString());
}