当我从主机 VM 服务器向 Windows XP 客户机发出 ACPI 关闭命令时,我希望 Windows 关闭。
问题是,Windows 总是想提出一些问题,而不仅仅是关闭。无论正在运行或发生什么,我都需要关机才能可靠,这样我就可以从主机自动关机。但我希望它尽可能优雅,而不仅仅是拔掉插头。
一些问题:
如果用户已登录,ACPI 关闭会导致出现一个框,上面写着“您确定要在其他用户登录时关闭吗”?这可以防止关机,直到有人连接到机器并单击“是”。在这种情况下,应尽量优雅地注销所有用户,必要时使用强制,然后不升级就关机。
繁忙或无响应的程序或要求保存数据的程序可能会阻止 Windows 关闭,直到用户回答提示。这应该尝试保存数据,对于无响应的程序可能等待 30 秒,但应该对顽固的程序变得激进。“不,时间到了!3、2、1,再见!”
是否有我可以更改的注册表设置:
ACPI_Shutdown: "Shut down if Windows feels like it"
Run Code Online (Sandbox Code Playgroud)
到
ACPI_Shutdown: "Just do it. Kill programs, bump users, try to be graceful about it, but when I come back, I expect you to be off."
Run Code Online (Sandbox Code Playgroud)
这应该响应 ACPI 关闭命令,而不是 Windows 上的脚本,除非该脚本是由 ACPI 电源按钮触发的。我希望这可以通过注册表选项进行更改。
shutdown -s -t 0
如果您以某种方式远程进入虚拟机并发出一个命令,该命令将在不提示用户的情况下开始关闭,那么可能会更好。
您可以使用 Sysinternal 的 PsExec 从脚本或批处理文件中执行此操作。
或者,您可以向 VM 添加虚拟串行端口,启用 Windows XP 特别管理控制台,并通过 SAC 发出命令。通过脚本/批处理文件向 SAC 发出命令会更加复杂,但即使 XP 实例的网络不工作,您也可以执行关闭操作。
更新:这可能是 Vista/7 中的新事物 - 看起来该shutdown
命令有一个/p
标志,根据命令帮助“关闭本地计算机,没有超时或警告”。
所以尝试一下- 没关系,只是跳上我的 xp 机器,它没有 /p 选项......shutdown -s -p -f
,看看你会得到什么。
归档时间: |
|
查看次数: |
2445 次 |
最近记录: |