我有一个
Windows 7机器,其中包含多个启动时启动的VMWare Player机器.我使用WMWare VIX和批处理文件关闭虚拟机,如下所示:
"C:\path\to\VMWare VIX\vmrun.exe" -T player stop "C:\path\to\machine.vmx" soft
我想要完成的是在主机关闭时运行这些命令,这样我就不需要单独关闭每个VM.部署后,可能只需短按ACPI电源按钮即可开始关机,而不是从“开始”菜单开始.我试过的方法不起作用(至少不够好):
>组策略 – 最明显的方法,但在Windows 7中,“异步运行关闭脚本”的选项已经消失.
结果是,Windows首先告诉所有打开的窗口关闭,虚拟机响应它们正在使用,并且您将获得“强制关闭”对话框.只有在VMWare Player和其他所有内容都关闭后,脚本才会运行,没有用.
你认为这可以改变,但我想我记得看到一些官方的MS注意到“nope,抱歉”.但是找不到链接.
>使用一个批处理文件关闭所有虚拟机,然后将主机关闭为桌面快捷方式,而不是通常的关机按钮. – 工作,这就是我在开发过程中正在使用的东西.
但是使用ACPI电源按钮启动正常关机,结果与之前相同,如果每天打开和关闭机器的最终用户不需要使用显示器和鼠标,那就更好了.
所以我在Google上搜索的是一种修改按下物理电源按钮时调用的操作的方法. Windows允许您在一些不同的操作(如睡眠,休眠,重启等)之间进行选择,但是您可以将其更改为“运行此.bat”吗?或者可能完全改变shutdown命令的行为?
>以编程方式拦截关机消息,中止关机,运行批处理文件,重新启动关机.有关拦截停机的讨论,例如here,here和here,但我仍然在所有语言中使用n00b,除了Ruby或Java之外,我真的很了解在这种情况下是否以及如何完成它.如果有人能够澄清如何实际完成这项工作(不会卡在“强制关闭”屏幕上),那么我很想尝试你提供的任何语言.