タスクスケジューラのタスクで、休止状態から復帰しない ダメ:rundll32.exe powrprof.dll,SetSuspendState

Windows10 で、タスクスケジューラを使って、PCを自動起動してWebからデータ収集をしています。

データ収集が終わったら、自動的に休止状態に戻しているのですが、そのあとのタスクスケジューラのタスクでPCが自動で起動せず、時間通りにデータ収集ができませんでした。


状態


手作業で休止状態にした後の、タスクスケジューラのタスクではPCは問題なく起動します。

でも、自動で休止状態にした後のタスクでは、必ずコケて、PCが自動起動してくれません。


休止状態にするコマンドは、ググると必ず出てくる、

rundll32.exe powrprof.dll,SetSuspendState

を使っていました。

データ収集作業が終わると、このコマンドを実行して、休止状態にはなっていました。


原因


このコマンドで休止状態になった場合は、タスクスケジューラでは、休止状態を解除してPCを自動起動することができないそうです。

rundll32.exe powrprof.dll,SetSuspendState

これが使えるのは、再起動は手動起動に限られるわけです。


気づけば簡単なのですが、他に原因があると思って、だいぶ時間を無駄にしてしまいました。


対策


対策は、フリーソフトを使う方法が簡単そうなのですが、うまくいきませんでした。

手作業で休止状態にしたのと同じであれば良いということで、UWSCを使って、休止状態にすることにしました。


UWSCのスクリプト


このUWSC、Windowsの操作を自動化するツールで、とても便利です。

PCで自動化をする際にはよく使ってしまいますが、残念ながら、ここのところ更新されなくなってしまいました。

まだ、Vectorからはダウンロードできるようです。https://www.vector.co.jp/soft/winnt/util/se115105.html


今回、使ったUSSCのスクリプトは、以下のようなものです。


//休止モード

KBD(VK_WIN,DOWN,40)

KBD(VK_X,CLICK,40)

KBD(VK_WIN,UP,40)

KBD(VK_U,CLICK,40)

KBD(VK_H,CLICK,40)


やってることは、簡単で、ショートカットキーで休止状態にする手順をそのままスクリプトで記載してありす。


手作業だと

 [Win]+[X]を押して、メニューを開き、

 [U]キーを押して

 [H]キーを押すと

これらのキー操作で休止状態になります。


ちなみに、最後の[H]キーを[S]キーにするとスリープ状態になります。


結果


問題解決です。

休止状態への移行はOK。そのあとのタスクスケジューラのタスクも、休止状態を解除して起動することもできるようになりました。


さいごに


今回は、ネット情報を安易に信じてしまったため、見事にはまってしまいました。

もうちょっと早く原因に気づければよかったのですが、解決したので良しとしたいです。

投稿リスト:

Chromecast with Google TV のリモコンの分解修理をする

Chromecast with Google TV のリモコンの、↓ ボタンの反応が悪くなってしまいました。 強く押せば反応はするものの、使っていて不自由です。 そこで修理をしてみることにしました。 方針 最初はリモンコンだけの購入を考えていました。 例えば、Amazonでも購入...