2

早上好,
我正在使用 Windows 7 计算机。
我希望我的计算机在我每次从系统注销时提醒我一些我可能不会忘记的事情。

为了做到这一点,我正在考虑“Windows 任务计划程序”。
但是,在可能的触发器列表(“开始任务”组合框)中,我只看到以下可能性:

  • 按计划(固定日期/时间)
  • 登录时(登录 PC 时)
  • 启动时(启动 PC 时)
  • 空闲时(我想当 PC 没有被其他任务占用时)

我看不到“注销时”或“关机时”的可能性。

有谁知道是否可以添加这种可能性(也许通过处理注册表)?

谢谢多米尼克
_

4

2 回答 2

8

据我研究,这是不支持的一个简单原因。无法保证任务计划程序服务在触发注销事件时正在运行,如果是,则无法保证您启动的脚本不会因关闭计算机而立即终止。

您可以通过在“事件”上添加触发器并使用关闭的事件 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"

于 2015-12-02T14:26:00.387 回答
0

同时我了解到 Windows 10 没有这个问题:有可能启动计划任务:

  • 在与用户会话断开连接时
  • 在工作站锁上
于 2021-06-08T07:48:06.267 回答