在 Windows 7 Professional
中,有没有办法在用户点击“关机”时运行批处理脚本(例如 .BAT 文件)?(不是计划关闭计算机的批处理文件,仅在用户单击“关机”时运行)
理想情况下,这样的脚本将显示命令提示符窗口,并提供取消关机过程的选项。
最好使用不需要第三方实用程序的解决方案。
在 Windows 7 Professional
中,有没有办法在用户点击“关机”时运行批处理脚本(例如 .BAT 文件)?(不是计划关闭计算机的批处理文件,仅在用户单击“关机”时运行)
理想情况下,这样的脚本将显示命令提示符窗口,并提供取消关机过程的选项。
最好使用不需要第三方实用程序的解决方案。
gpedit.msc
打开组策略编辑器。savestate
脚本非常有帮助。谢谢! - jbwebtechC:\Windows\System32\cmd.exe
用作脚本名称,将/C C:\path\to\batch\script.bat
用作脚本参数,则可以实现。 - NovaWindows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0]
"GPO-ID"="LocalGPO"
"SOM-ID"="Local"
"FileSysPath"="C:\\Windows\\System32\\GroupPolicy\\Machine"
"DisplayName"="Local Group Policy"
"GPOName"="Local Group Policy"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0\0]
"Script"="terminate_script.bat"
"Parameters"=""
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown\0]
"GPO-ID"="LocalGPO"
"SOM-ID"="Local"
"FileSysPath"="C:\\Windows\\System32\\GroupPolicy\\Machine"
"DisplayName"="Local Group Policy"
"GPOName"="Local Group Policy"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown\0\0]
"Script"="terminate_script.bat"
"Parameters"=""
"IsPowershell"=dword:00000000
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
Save this file as regedit.reg extension
Run it on any command line using below command:
regedit.exe /s regedit.reg
SCHTASKS /Create /SC ONEVENT /mo "Event[System[(EventID=1074)]]" /EC Security /tn on_shutdown_normal /tr "c:\some.bat"
SCHTASKS /Create /SC ONEVENT /mo "Event[System[(EventID=6006)]]" /EC Security /tn on_shutdown_6006 /tr "c:\some.bat"
SCHTASKS /Create /SC ONEVENT /mo "Event[System[(EventID=6008)]]" /EC Security /tn on_shutdown_6008 /tr "c:\some.bat"
我在搜索Windows 10的启动和关闭脚本时找到了这个主题。上面的答案都不起作用。对于我来说,在Windows 10上,当我把脚本放到任务计划程序中时,它就起作用了。如何操作:按下Windows键并写入“任务计划程序”,打开它,然后右侧是“添加任务...”按钮。在这里,您可以添加脚本。 附注:我找到了启动和注销用户的操作,但没有关机操作。
为了使上述代码正常运行,您需要确保以下目录存在(我的没有)。只需将以下内容添加到批处理文件中并运行即可:
mkdir C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup
mkdir C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown
mkdir C:\Windows\System32\GroupPolicy\User\Scripts\Startup
mkdir C:\Windows\System32\GroupPolicy\User\Scripts\Shutdown
就是因为GP需要这些目录存在才能实现以下功能:
Group Policy\Local Computer Policy\Windows Settings\Scripts (Startup/Shutdown)
以便正常运行。
shutdown.exe \r \t 10
命令,在 10 秒后强制重启计算机。 - Slicktrick