Windows 10でタスクスケジューラで設定してもスリープから復帰しない。

表題の通り。

タスクスケジューラーで条件タブの「タスクを実行するためにスリープを解除する」にチェックを入れたタスクを作成して「準備完了」状態だが、指定時刻になってもスリープから復帰しない。

イベントビューアーには該当時刻に「システムがスリープ状態から再開されました。」と表示されているが、表示されているだけで復帰はしていない(電源ランプが点滅しているスリープ状態のまま)。

液晶モニターにデスクトップが表示されることもない(モニターは待機状態のまま)。

その後、電源ボタンやキーボード(キーボードからスリープを解除できるようにしてある)を押すとすぐにスリープから復帰する。

イベントビューアーの表示は

------------------

システムは低電力状態から再開しました。

スリープ時間: ‎2016‎-‎09‎-‎24T13:01:58.854009600Z
スリープ解除時間: ‎2016‎-‎09‎-‎24T13:03:03.811465300Z

スリープ状態の解除元: 電源ボタン

------------------

である。

エディション:Windows 10 Pro

バージョン:1511(更新のチェックをしてもアニバーサリーアップデートはまだ来ていない状態。1511の用のアップデートは行われている。)

タスクスケジューラで設定してスリープから復帰する方法を教えてほしい。

 

質問情報


最終更新日 2019年12月08日 表示 10,836 適用先:
回答
回答

解決した。

結論を書くと、

Windows10で「C:\Windows\System32\rundll32.exe PowrProf.dll,SetSuspendState Sleep」というショートカット(コマンド)でスリープまたは休止状態へ移行した場合、タスクスケジューラからの自動復帰ができない

ということのようである。

Windows7のときにウインドウズボタン」→「→」→「Enter」という方法で素早くスリープに移行できていたがWindows10でそれができなくなった。

そのため素早くスリープに移行するために

「C:\Windows\System32\rundll32.exe PowrProf.dll,SetSuspendState Sleep」というショートカットを作成し使用していたが、

Windows7上でスリープにするアイコンをデスクトップに置きたいのだが

にまとめられているところによると

-----------------------------------------------------------

_rundll32.exe powrprof.dll,SetSuspendState Sleepって大嘘は誰が言い出したん - xcaqhbajのメモ

よくネットに挙がってるTIPSの一つである、コマンドラインからスリープに入れるって奴。
rundll32.exe powrprof.dll,SetSuspendState Sleep
この"Sleep"はスリープ状態になることを入ることを意味せず、指定しようがしまいが動作は変化しないウソTIPSである。

-----------------------------------------------------------

-----------------------------------------------------------

_プログラミングTips : SetSystemPowerState() の罠

また、よく「システムを休止状態にするショートカットを作成する」などと称してこんなコマンドが掲載されていますが、
rundll32.exe PowrProf.dll,SetSuspendState
これでは自動復帰できません。理由は SetSuspendState() の引数と rundll の仕様を考えれば分かります。そもそも rundll は 任意の API 関数を呼び出せるプログラムではありません。

-----------------------------------------------------------

とある。

また、コマンドラインからWindows PCを停止(スリープなど)する方法 では

-----------------------------------------------------------

スリープ・休止 (お勧めしない方法)

以下のコマンドでスリープまたは休止状態へ移行できます。

> rundll32.exe PowrProf.dll,SetSuspendState
休止状態機能が有効だと休止状態になります。
休止状態機能が無効だとハイブリッドスリープではなく、従来のスタンバイの様な状態になります。
※お勧めしない理由

この方法でスリープへ移行した場合、ハイブリッドスリープにはなりません。 したがって、電源が切れるとメモリ上のデータが失われます。
この方法でスリープ(スタンバイ)へ移行した場合、タスクスケジューラからの自動復帰ができないことがあるようです。
手元の Windows7 では問題なく自動復帰できることを確認しました。

-----------------------------------------------------------

とある。

どうやら「rundll32.exe PowrProf.dll,SetSuspendState」を使用してスリープに移行した場合、

Windows7では自動復帰できるようだが、Windows10でタスクスケジューラによる自動復帰はできないようである。

コマンドラインからWindows PCを停止(スリープなど)する方法 で配布されているRuby スクリプト(そのexe版を使用した)や「スタートメニュー」→「電源」→「スリープ」からであれば、

Windows10でもタスクスケジューラで自動復帰できるようである。

この回答は 11 人の役に立ちました

·

この回答で問題は解決しましたか?

役に立ちませんでした。

回答としてマークしていただきありがとうございます。

この返信の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。今後のサイト改善に役立てて参ります。

この回答の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。