在运行计划任务后将计算机置于待机状态,但前提是它必须唤醒才能运行它

Put computer in standby after running a scheduled task but only if it had to wake up to run it

我有一个计划任务,我想每隔几个小时运行一次。如果计算机当前处于待机状态,我希望它醒来,运行任务,然后再进入睡眠状态。如果计算机当前处于打开状态,我希望它运行任务但不要返回睡眠状态,因为那样会很烦人。

有什么方法可以知道计划任务是否必须唤醒计算机才能运行?

我刚刚意识到一种方法是 运行 powercfg -lastwake

这是唤醒到 运行 任务时的输出:

C:\Users\will>powercfg -lastwake
Wake History Count - 1
Wake History [0]
  Wake Source Count - 1
  Wake Source [0]
    Type: Wake Timer
    Owner: [SERVICE] \Device\HarddiskVolume5\Windows\System32\svchost.exe (Schedule)
    Owner Supplied Reason: Task Scheduler will execute '\test' task.

这是正常的输出:

C:\Users\will>powercfg -lastwake
Wake History Count - 1
Wake History [0]
  Wake Source Count - 1
  Wake Source [0]
    Type: Fixed Feature
    Power Button