window7 休止、スリープ用VBSスクリプト

vistaとかで紹介されているVBSスクリプトが使えなかったので、あきらめて書き直してみた。

CreateObject("Shell.Application").ShutdownWindows
Set wShell=CreateObject("WScript.Shell")
Do While Not wShell.AppActivate("Windows のシャットダウン")
  WScript.Sleep 100
Loop


WScript.Sleep 1000
wShell.SendKeys "{UP}"
WScript.Sleep 1000
wShell.SendKeys "{ENTER}"

やってることは、下記の窓を出して、休止か、スリープか選んでEnter押しているだけ。「スリープ」か「休止」かは、{UP}の数を変えてください。Enterの行を消してみてテストしてみるのが無難でしょう。


後、Windows7


休止がねえぞ!!(#゚Д゚)ゴルァ!!
かってに復帰するぞ!!(゚Д゚)ウゼェェェ


って人は下記が参考になる感じ。

まずは電源周りだけど、とりあえず「休止状態」を復活させるために、Vistaと同じ方法(「Windows Vistaの[休止状態]オプションを有効にする− @IT」)を試してみることに。ちなみに、powercfgは管理者権限が必要なので、コマンドプロンプトも管理者権限で起動しないとダメ(cmd.exeを右クリックして、「管理者として実行」で起動)。
 さらに電源オプションで、ハイブリッドスリープをオフにするのと、タイマー処理もオフに。これで、ようやく「休止状態」がメニューに登場。


 ただ、この状態で休止を選択しても、やっぱりしばらくすると勝手に再起動してしまうので、今度はイベントログからスリープからの復帰状況をチェック(「Windows Vistaマシンがスリープ状態から勝手に復帰するのを防止する− @IT」)。復帰理由が「不明」のものもあるものの、それ以外に使っていない2枚目のNICが悪さしているのもあったので、そいつのプロパティの「電源管理」でスタンバイ状態の解除をOFFにしたうえでデバイスを無効に。使用中のNICが復帰の原因になっているものもあったので、そいつのプロパティの「電源管理」でスタンバイ状態の解除をOFFに変更、ついでに使ってない方のNICバイスを無効に。
 これで再度「休止状態」にチャレンジして、ようやく勝手な再起動はなくなった感じ。ってことは、ようするに使ってないNICが原因だったわけか…。うむ〜。 (一部勘違いしてたので修正)


Windows 7 RC: 休止状態


電力代がちょっといっちゃてる上にHDDの温度もやばい感じなので、エンコバッチとかに休止スクリプトを諦めて組み込むとしますか・・・・