Powercfg Command-Line Options in Windows 7
何故かVistaのTechnical Referenceしか見当たらないのだが、Windows 7ではpowercfgコマンドオプションが強化され、エネルギーの効率的な利用がしやすくなっている。
よくWindows Media Centerで録画した番組を見ながら寝落ちしてしまうのだが、寝ている間PCがずっと付けっぱなしってのは電気の無駄遣い。人間がスリープしたらPCもスリープして欲しいものだ。ところが吊るしの状態だとMedia Centerは再生が終わっても画面を表示しっぱなしだったりする…のでこの問題の解決を試みた次第。
まずはコマンドプロンプトをアドミン権限で起動(Run as Administrator)するところから。
スリープへの移行を妨げている要因を探るときのコマンド。ドライバーやプロセス、サービスが列記される。思うようにスリープしなかった状態で実行して確認する。何もヒットしなければ、スリープしない要因は他にあると思われる
powercfg /requestsoverride
該当するドライバーやプロセスよりもスリープ実行を優先させるためのコマンド。文法は
POWERCFG -REQUESTSOVERRIDE <CALLER_TYPE> <NAME> <REQUEST>
Media Centerのサービスをオーバーライドする例
powercfg /requestsoverride SERVICE "\Device\HarddiskVolume3\Windows\ehome\ehrecvr.exe (ehRecvr)" SYSTEM
上記の例はUEFIベースのPCなのでHarddiskVolume3になっているけど、BIOSベースのPCだとHarddiskVolume2だったりすると思う。
Windows Media Playerの場合はSYSTEMとDISPLAYに該当するので以下のようになる
powercfg /requestsoverride PROCESS "\Device\HarddiskVolume3\Program Files (x86)\Windows Media Player\wmplayer.exe" DISPLAY SYSTEM
HDMI接続でIntelのGPU内蔵サウンドチップを使っていると、比較的簡単にスリープ移行ができるようになるのだが、Realtekのオンボードサウンドを使う場合だと、さらにサウンドドライバーをオーバーライドする必要があるかもしれない。
Powercfg Command-Line Options
システムのエネルギー効率の評価に PowerCfg
レッツ! Windows 7 - 電源管理編(4)