Windows 2012:在每种情况下如何使电源按钮正常工作?


9

我需要使用电源按钮正确关闭某些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。
在会话被锁定时,此事件之后没有任何事件。并且其他日志中没有其他事件。
当程序拒绝关闭时,我有相应的日志条目,因此很快就可以了。


2
向那些该死的智能开关展示真正的智能:将F ^&%#ing电源线从墙上拔出!
病房-恢复莫妮卡

Answers:


5

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

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

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


3
作为参考,我使用的命令是:shutdown / s / t 10 / dp:0:0
Gregory MOUSSAT 2013年

4
在我看来,该事件也是具有这些属性的基本事件,以供参考:日志:系统,源:内核电源,事件ID:109
ndemou

1

查看AutoEndTasks

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

另外,可以通过组策略完成一些调整,可以在这里找到:计算机配置>管理模板>系统>关机选项> 关闭自动终止或阻止关机的应用程序

您可能需要考虑的其他调整选项是: WaitToKillServiceTimeoutWaitToKillAppTimeoutHungAppTimeOut

我还将第二次回答MarcoZink所说的,检查您的BIOS并确认没有为您的电源按钮配置任何特殊设置,这些设置可能会阻止一切。


1
我不会同意MarcoZink关于BIOS的说法,因为问题明确指出“如果没有人登录,则电源按钮将正确关闭服务器”
ndemou
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.