我正在尝试构建一个应用程序来重启 Hyper V 中 Server 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);
}
}
AddParameter("Name", vm.vmName)
吗? - DavidG