Windows 10 1903でスリープが勝手に解除されるのを直す方法
Windows 10 Update 1903 の通知が来たのでインストールしたらスリープしているマシンが勝手に解除されるようになった。
イベントログをみると 「Update Orchestrator Idle Start」が解除してるところまではわかったが、こいつが難物。
結論から書くと以下の手順を実行すること。だめだった。
3日ぐらいたっても大丈夫とかそういう報告あるけど本当に?
何が起きているかというと、スリープさせるとその直後に再立ち上げしてタスクスケジューラ見るとまた「スリープ解除する」にチェックが入っている。
そのチェックを入れるタスクが何かあると思ったけど、その前後で動くタスクを調査してみたら、なかった・・・。
Orchestratorサービスがなんかやっている気がする。
で、仕方ないので、後ろ向きの対策を打つことにしました。
何かというと、スリープ解除されたらまたスリープする。
それだけです。
1.新しくタスクを作ります。
2.タスクのトリガに「イベント時」にして、
ログ:「システム」
ソース:「Power-Troubleshooter」
イベントID:「1」
3.操作でスリープするバッチなり、プログラムなりを記載する。
※注意:単純に記載すると自分でスリープ解除したいのに、スリープに戻っちゃいます。再スリープするまでに時間的余裕を持たせたほうがいいでしょう。
と、いうことで、プログラム作りました。
WindowsSuspendForm.zip
使い方。
1.WindowsSuspendForm.exe を引数なしで実行すると、即座にスリープ。
2.WindowsSuspendForm.exeをなんでもいいので引数を1つ渡すと、マウス、キーボード、ジョイパッドを操作中は何もしない。どれも操作しないで25秒後にスリープ。
3.WindowsSuspendFrom.exe に HHMM-HHMM 形式で引数を渡した場合、2.の条件か、HHMM-HHMMで指定された間の時間にプログラムが起動された場合はスリープしない。
うちのPCは夜は止めておきたいけど、いろいろあって朝9:00に自動起動するようにしているので、3.が必要だったのです。
と、いうことで、タスクには「C:\ProgramData\WindowsSuspend\WindowsSuspendForm.exe」
引数「0855-0905」と設定しています。
ちなみにもともとこのプログラム1.と2.は実装していて、今回3.を付け加えたんだけど、普段はタスクバーにピン止めしていて、一発クリックで即座にスリープです。
よく、間違えて押しちゃうけど。
2.の機能はやはりタスクスケジューラに登録しておいて、決まった時間に自分がいる場合はスリープしないし、自分がいない場合はスリープするように毎日起動させてます。
イベントログをみると 「Update Orchestrator Idle Start」が解除してるところまではわかったが、こいつが難物。
3日ぐらいたっても大丈夫とかそういう報告あるけど本当に?
何が起きているかというと、スリープさせるとその直後に再立ち上げしてタスクスケジューラ見るとまた「スリープ解除する」にチェックが入っている。
そのチェックを入れるタスクが何かあると思ったけど、その前後で動くタスクを調査してみたら、なかった・・・。
Orchestratorサービスがなんかやっている気がする。
で、仕方ないので、後ろ向きの対策を打つことにしました。
何かというと、スリープ解除されたらまたスリープする。
それだけです。
1.新しくタスクを作ります。
2.タスクのトリガに「イベント時」にして、
ログ:「システム」
ソース:「Power-Troubleshooter」
イベントID:「1」
3.操作でスリープするバッチなり、プログラムなりを記載する。
※注意:単純に記載すると自分でスリープ解除したいのに、スリープに戻っちゃいます。再スリープするまでに時間的余裕を持たせたほうがいいでしょう。
と、いうことで、プログラム作りました。
WindowsSuspendForm.zip
使い方。
1.WindowsSuspendForm.exe を引数なしで実行すると、即座にスリープ。
2.WindowsSuspendForm.exeをなんでもいいので引数を1つ渡すと、マウス、キーボード、ジョイパッドを操作中は何もしない。どれも操作しないで25秒後にスリープ。
3.WindowsSuspendFrom.exe に HHMM-HHMM 形式で引数を渡した場合、2.の条件か、HHMM-HHMMで指定された間の時間にプログラムが起動された場合はスリープしない。
うちのPCは夜は止めておきたいけど、いろいろあって朝9:00に自動起動するようにしているので、3.が必要だったのです。
と、いうことで、タスクには「C:\ProgramData\WindowsSuspend\WindowsSuspendForm.exe」
引数「0855-0905」と設定しています。
ちなみにもともとこのプログラム1.と2.は実装していて、今回3.を付け加えたんだけど、普段はタスクバーにピン止めしていて、一発クリックで即座にスリープです。
よく、間違えて押しちゃうけど。
2.の機能はやはりタスクスケジューラに登録しておいて、決まった時間に自分がいる場合はスリープしないし、自分がいない場合はスリープするように毎日起動させてます。
コメント
コメントを投稿