当用户单击“关闭”时,有什么方法Windows 7 Professional
可以运行批处理脚本(例如,.BAT 文件)(不是计划关闭机器的批处理文件,只有当用户单击时才会运行“关闭”)?
理想情况下,这样的脚本将显示命令提示符窗口并提供取消关机过程的选项。
不需要第三方实用程序的解决方案会更好。
当用户单击“关闭”时,有什么方法Windows 7 Professional
可以运行批处理脚本(例如,.BAT 文件)(不是计划关闭机器的批处理文件,只有当用户单击时才会运行“关闭”)?
理想情况下,这样的脚本将显示命令提示符窗口并提供取消关机过程的选项。
不需要第三方实用程序的解决方案会更好。
您可以在 Windows 上创建本地计算机策略。请参阅http://technet.microsoft.com/en-us/magazine/dd630947上的 TechNet
gpedit.msc
以打开组策略编辑器,好吧,这是一种进行一些注册表更改的简单方法:我在2008 r2和2016服务器上尝试过。
需要做的事情:
Windows 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
将此文件另存为regedit.reg扩展名
使用以下命令在任何命令行上运行它:
regedit.exe /s regedit.reg
创建您自己的关闭脚本 - 称为 Myshutdown.bat - 并在脚本中执行您要执行的任何操作,然后在它结束时调用shutdown /a。然后执行你的bat文件而不是正常关机。
(有关更多信息,请参阅http://www.w7forums.com/threads/run-batch-file-on-shutdown.11860/。)
我在搜索启动和关闭 Windows 10 的运行脚本时发现了这个主题。上面的那些答案不起作用。对我来说,当我将脚本放入任务计划程序时,Windows 10 上的工作。如何做到这一点:按窗口键并编写任务计划程序,打开它,然后右侧是添加任务...按钮。在这里您可以添加脚本。PS:我找到了启动和注销用户的操作,没有关闭。
这可以通过SCHTASKS以编程方式实现:
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"
为使上述代码起作用;您需要确保以下目录存在(我的没有)。只需将以下内容添加到 bat 并运行它:
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)
正常运作。