Windows 2012:如何让电源button在任何情况下工作?

我需要一些Windows 2012服务器用电源button正常关机。

  • 如果没有人login,电源button可以正确closures服务器
  • 如果有人没有阻止程序login,也没关系

但:

  • 如果会话被locking,电源button不起作用
  • 如果有人使用阻止程序进行login(例如带有未保存文档的记事本),则该button也不起作用

在以前的Windows版本中,我使用GUI来configuration电源button行为,并修改registry项( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\shutdownwithoutlogon ),但这似乎没有任何相关性。

有谁知道“官方”的方法,还是一个诡计?

编辑:
系统日志每次按下电源button时显示一个事件。 The kernel power manager has initiated a shutdown transition事件ID为109 The kernel power manager has initiated a shutdown transition
当会话被locking时,这个事件之后是什么都没有。 而其他日志中没有其他事件。
当一个程序拒绝closures时,我有相应的日志条目,所以这个很快就会好的。

当会话被locking时,无法closures2012服务器的事实可能是由devise决定的。 我面临类似的需求,不知道任何政策或registry的变化,以允许这一点。

我使用了一个简单的技巧:我捕获了电源button事件,它只是在超时后运行我最喜欢的shutdown.exe和所需的参数。
如果使用正确的closures参数,则不会被打开的程序阻止。

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

查看AutoEndTasks :

您可以通过在这里创build密钥vs HKCU来为所有用户进行设置:HKEY_USERS.DEFAULT \ Control Panel \ Desktop

此外,还有一些可以通过组策略完成的调整:计算机configuration>pipe理模板>系统>关机选项> closures自动终止阻止或取消关机的应用程序

您可能想要查看的其他调整选项有: WaitToKillServiceTimeout , WaitToKillAppTimeout , HungAppTimeOut

我还会继续介绍MarcoZink所说的,检查你的Bios并确认没有为你的电源buttonconfiguration任何特殊的设置,这些设置可能会阻碍你的工作。