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

cnblogs 2024-06-11 13:45:00 阅读 98

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

方案一:

测试了过多个软件,如shutter,WinOFFSetup,虽然功能多,但这些软件只能在用户登录时运行。而windows 11一段时间后会自动注销,查了多种设置方法没有解决。

方案二:

用AI写了检测用户空闲时间的小程序,功能正常,但做成服务后,就不正常了。即使用户有操作,也会关机。

原因是服务程序的会话,检测不到此时登录的其他用户会话的活动状态。

方案三:

之后又想到了windows的计划任务,来调用shutdown.exe,这个在用户不登录的情况也可以运行。

配置如下:

常规:

不管用户是否登录都运行

以最高权限运行

触发器,

设置为5分钟重复一次

操作:

执行命令:C:\Windows\System32\shutdown.exe

命令参数:/s /t 1800

条件设置为:

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

等待空闲时间:1小时

虽然能够关机,但效果不对,不是预期的2小时后,把相关时间改小,多次观察调试,还是不符合预期时间。

然后看到了微软官方的解释:(很难理解)

例如,如果任务设置为仅当计算机空闲 30 分钟时启动,并且任务等待计算机空闲 10 分钟,则仅当计算机在激活触发器之前已空闲 25 分钟时,才会在 5 分钟内启动该任务。 如果计算机在触发器激活 5 分钟后进入空闲状态,则任务不会启动。

https://learn.microsoft.com/zh-cn/windows/win32/taskschd/task-idle-conditions

看这个采用的回答,还好理解一些

https://superuser.com/questions/777488/task-scheduler-what-is-wait-for-idle-for

然而测试还是不不符合预期时间。再看官方资料,无意中看到这个:

界面上有这个选项,但实际功能已弃用!!!



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。