windows计划任务的“等待空闲时间”已弃用

想使用Windows的计划任务来实现:当计算机空闲时,自动关机,以避免资源浪费。

方案一

测试了多个软件,如Shutter,WinOFF Setup,它们功能丰富,但仅能在用户登录时运行。而Windows 11会在一段时间后自动注销用户,尽管尝试多种设置方法,问题仍未解决。

方案二

编写了AI程序来检测用户空闲时间,功能正常,但作为服务运行时出现问题:即便用户正在进行操作,系统也会执行关机操作。根本原因在于服务程序的会话无法感知其他已登录用户的活动状态。

方案三

随后考虑使用Windows计划任务调用shutdown.exe,此方法在用户未登录时也能执行。

配置详情:

  • 常规:

    • 不管用户是否登录都运行
    • 以最高权限运行
  • 触发器:

    • 设置为每5分钟重复一次
  • 操作:

    • 执行命令: C:\Windows\System32\shutdown.exe
    • 命令参数: /s /t 1800 (表示1800秒后关机,即30分钟)
  • 条件设置:

    • 仅当计算机空闲时间超过下列值后才启动任务:1小时
    • 等待空闲时间:1小时

尽管能成功执行关机操作,但并非按照预期的2小时后执行。调整相关时间后,依然无法达到预期效果。

微软官方解释

官方文档中的说明难以理解,大致意思是:若任务设定为计算机空闲30分钟后启动,并设定等待计算机空闲10分钟后执行,那么只有当任务触发前计算机已空闲25分钟,任务才会在5分钟内启动。若计算机在触发后5分钟才进入空闲状态,则任务不会启动。

在国外网站找到了这个资料

然而,经过测试,实际效果仍不符合预期。进一步查阅资料时,注意到了这个”备注”,就是都弃用了,上面还保留了那么多解释。虽然看到了前面有个小标题“已弃用空闲等待和空闲持续时间”,但没往那儿想。

计划任务的界面上有这个选项,但实际功能已弃用!!!

补充,后来写了一个程序解决这个问题。

posted @ 2024-06-11 13:45  putiji  阅读(145)  评论(0编辑  收藏  举报