Windows 2012:如何使电源按钮在任何情况下都能工作?

Windows 2012:如何使电源按钮在任何情况下都能工作?

我需要使用电源按钮正确关闭一些 Windows 2012 服务器。

  • 如果没有人登录,电源按钮可以正确关闭服务器
  • 如果有人在没有阻止程序的情况下登录,那也没关系

但:

  • 如果会话被锁定,电源按钮不起作用
  • 如果有人使用阻止程序登录(例如,记事本中有未保存的文档),该按钮也不会执行任何操作

在以前的 Windows 版本中,我习惯使用 GUI 配置电源按钮行为并修改注册表项(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\shutdownwithoutlogon),但这似乎不再相关。

有人知道“官方”方法或窍门吗?

编辑:
每次我按下电源按钮时,系统日志都会显示一个事件。The kernel power manager has initiated a shutdown transition事件 ID 为 109。
当会话被锁定时,此事件后没有任何内容。其他日志中也没有其他事件。
当程序拒绝关闭时,我有相应的日志条目,所以很快就会好起来。

答案1

当会话锁定时,您无法关闭 2012 服务器,这可能是设计使然。我遇到了类似的需求,但不知道有任何政策或注册表更改允许这样做。

我使用了一个简单的技巧:我捕获了电源按钮事件,该事件在超时后仅使用所需的参数运行我最喜欢的shutdown.exe。
如果您使用正确的关机参数,则不会被打开的程序阻止。

要捕获事件,只需打开任务计划程序并创建在所需事件 ID 上触发的任务。

答案2

查看自动结束任务

您可以通过在此处与 HKCU 创建密钥来为所有用户设置它:HKEY_USERS.DEFAULT\Control Panel\Desktop

此外,还可以通过组策略进行一些调整,可在此处找到:计算机配置>管理模板>系统>关机选项> 关闭阻止或取消关机的应用程序的自动终止

您可能需要研究的其他调整选项包括: WaitToKillService超时WaitToKillAppTimeout挂起应用程序超时

我也赞同 MarcoZink 的说法,检查您的 Bios 并确认您的电源按钮没有配置任何特殊设置,以免阻碍运行。

相关内容