据我研究,这是不支持的一个简单原因。无法保证任务计划程序服务在触发注销事件时正在运行,如果是,则无法保证您启动的脚本不会因关闭计算机而立即终止。
您可以通过在“事件”上添加触发器并使用关闭的事件 ID 之一来绕过此问题,但由于上述原因,这可能不是最好的主意。
我宁愿推荐使用根据策略定义的关闭/注销脚本。这是此类事情的官方方法,保证在关机/注销之前完全执行。如果您有支持 GPO 的 Windows 版本,您只需启动gpedit.msc
并转到计算机配置\Windows 设置\脚本以进行关机和用户配置\Windows 设置\脚本以获取注销脚本并创建您的。可以在此处找到解释这些脚本的详细文章。
如果您的操作系统版本不支持 GPO,您应该能够重新创建必要的注册表项。我自己没有尝试过,但有几篇 文章似乎表明您需要的是:
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\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"="C:\\bin\\shutdownscript.cmd"
"Parameters"=""
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
放入 .reg 文件中。您需要更改的唯一行是:"Script"="C:\\bin\\shutdownscript.cmd"