在Windows关闭时执行批处理脚本

bvhaajcl  于 2022-11-18  发布在  Windows
关注(0)|答案(6)|浏览(284)

Windows 7 Professional中,当用户点击“shutdown”时,是否有办法运行一个批处理脚本(例如,一个.BAT文件)(不是一个预定要关闭机器的批处理文件,只是一个只有在用户点击“shutdown”时才运行的批处理文件)?
理想情况下,这样的脚本将显示命令提示符窗口,并提供取消关机过程的选项。
不需要第三方实用程序的解决方案更可取。

8yparm6h

8yparm6h1#

您可以在Windows上创建本地计算机策略。请参阅TechNet,网址为https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn789197(v=ws.11)
1.运行gpedit.msc打开组策略编辑器,
1.导航到计算机配置| windows 设定|脚本(启动/关闭).

kuhbmx9i

kuhbmx9i2#

这是一种进行注册表更改的简单方法:我在2008 r22016服务器上尝试了此方法。
需要做的事情:
1.创建文本文件“regedit.txt
1.将以下代码粘贴到其中:

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

1.将此文件另存为regedit.reg扩展名
1.在任何命令行上使用以下命令运行它:

regedit.exe /s regedit.reg
v1uwarro

v1uwarro3#

创建您自己的关机脚本--名为Myshutdown.bat --并执行您要在脚本中执行的任何操作,然后在脚本结束时调用shutdown /a。然后执行您的bat文件,而不是正常的关机。
(See http://www.w7forums.com/threads/run-batch-file-on-shutdown.11860/以获取更多信息。)

fnatzsnv

fnatzsnv4#

我在搜索启动和关闭Windows 10的运行脚本时发现了此主题。上面的答案不起作用。对于我来说,在Windows 10上,当我将脚本放到任务调度程序时,它起作用了。如何做到这一点:按窗口键写任务调度器,打开它,然后在右边是添加任务...按钮.在这里你可以添加脚本. PS:我找到了用于启动和注销用户操作,但没有用于关闭的操作。

smdnsysy

smdnsysy5#

这可以通过编程方式用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"
knsnq2tg

knsnq2tg6#

为上述代码提供功能;您需要确保以下目录存在(我的目录不存在)。只需将以下内容添加到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)

才能正常工作。

相关问题