Я пытаюсь создать приложение для перезапуска виртуальных машин в Hyper V на сервере 2012. У меня перезапускалась каждая виртуальная машина в списке, но я хочу адаптировать ее для выключения и повторного включения машины. Закомментированный код является рабочим принудительным перезапуском. Заранее спасибо.
public async static void RestartAllVMs(List<VM> vmList, int timeDelay)
{
PowerShell ps = PowerShell.Create();
foreach (VM vm in vmList)
{
/*//Create PowerShell object
PowerShell ps = PowerShell.Create();
ps.AddCommand("Restart-VM");
ps.AddArgument(vm.vmName);
ps.AddParameter("Force");
ps.Invoke();
await Task.Delay(timeDelay * 1000);*/
//Create PowerShell object
//I want to run from here down instead of just restarting the code doesn't work and no errors are thrown.
ps.AddCommand("Stop-VM");
ps.AddArgument(vm.vmName);
ps.AddCommand("Start-Sleep");
ps.AddParameter("s", 10);
ps.AddCommand("Start-VM");
ps.AddArgument(vm.vmName);
ps.AddCommand("Start-Sleep");
ps.AddParameter("m", 500);
ps.Invoke();
await Task.Delay(timeDelay * 1000);
}
}
Stop-VM
не нужен аргумент-name
? Что-то вродеStop-VM -name SomeComputer
? - person DavidG   schedule 09.08.2016AddParameter("Name", vm.vmName)
? - person DavidG   schedule 09.08.2016