2011/05/24

Windows PC 節電策 by PowerCfg.exe

5/20にマイクロソフトは「Windows PC 節電策」なるサイトを立ち上げ、「Windows PC 自動節電プログラム」なるものを無償公開しました。このプログラムは、Windows 7、Vista、XP の電源オプションを自動設定する、いわゆる Fix It ソリューションです。ところで、企業向けには、Active Directory のグループポリシーや、PowerCfg.exe コマンド、System Center Configuration Manager 2007 R3 による電源設定の一括管理を勧めているわけですが、PowerCfg.exe を使用した方法が、コマンドライン オプションを示すだけで、ちょっと不親切です。というわけで、「Windows PC 自動節電プログラム」と同じ設定を、PowerCfg.exe コマンドで実現したバッチファイルを (現在、進行中の記事用に) 作ってみました。

PowerCfg.exe コマンドは、Windows 7 で強化された電源オプションのすべてをカバーしており、グループポリシーではできない設定も可能になっています。しかし、PowerCfg.exe コマンドのコマンドライン オプション(→ Windows Vista 以降、→ Windows XP) を見ていただければわかりますが、使い勝手がいまいち分かり難い。例えば、Windows 7 のノートブック PC の場合、電源プランを「省電力」に切り替え、「電源に接続」時の画面の明るさを 40% に落とす設定を行うには、次のようなながーい 2 つのコマンドラインを実行します。


PowerCfg -SETACVALUEINDEX a1841308-3541-4fab-bc81-f71556f20b4a 7516b95f-f776-4464-8c53-06167f40cc99 aded5e82-b909-4619-9949-f5d71dac0bcb 40
PowerCfg -SETACTIVE a1841308-3541-4fab-bc81-f71556f20b4a

現在のプランに関係する GUID (SCHEME_GUID、SUB_GUID、SETTING_GUID) 、設定値(インデックス)、設定単位、設定可能範囲は、PowerCfg /QUERY で確認できます。GUID の指定が面倒ですが、PowerCfg -ALIASES で表示されるエイリアスを使用することもできます。上のコマンドラインは、次のように記述することもできます (省電力は SCHEME_MAX、高パフォーマンスは SCHEME_MIN、バランスは SCHEME_BALANCED です。SCHEME_MAX と SCHEME_MIN を取り違えないように!!)

PowerCfg -SETACVALUEINDEX SCHEME_MAX SUB_VIDEO VIDEONORMALLEVEL 100
PowerCfg -SETACTIVE SCHEME_MAX

これを踏まえて、Windows 7 ノートに対して、「Windows PC 自動節電プログラム」と同じ設定を PowerCfg.exe コマンドで適用するバッチファイルを作成してみました。なお画面の明るさとディスプレイを暗くする時間はデスクトップ PC では利用できません。一部のノート PC で利用できない場合もあります。

[PowerCfgFor7.cmd]
----------------------------------------------------------------
@echo off
REM 画面の明るさ 40%
powercfg -setacvalueindex SCHEME_MAX SUB_VIDEO VIDEONORMALLEVEL 40
REM ディスプレイを暗くする時間 2分
powercfg -setacvalueindex SCHEME_MAX SUB_VIDEO VIDEODIM 120
REM ディスプレイの電源を切る時間 5分
powercfg -setacvalueindex SCHEME_MAX SUB_VIDEO VIDEOIDLE 300

REM ハードディスクの電源を切る時間 10分
powercfg -setacvalueindex SCHEME_MAX SUB_DISK DISKIDLE 600
REM スリープ状態にする時間 15分
powercfg -setacvalueindex SCHEME_MAX SUB_SLEEP STANDBYIDLE 900
REM デスクトップの背景のスライドショー 一時停止
powercfg -setacvalueindex SCHEME_MAX 0d7dbae2-4294-402a-ba8e-26777e8488cd 309dce9b-bef4-4119-9921-a851fb12f0f4 1
REM ワイヤレス アダプターの省電力モード 省電力 (高)

powercfg -setacvalueindex SCHEME_MAX 19cbb8fa-5279-450e-9fac-8a3d5fedd0c1 12bbebe6-58d6-4636-95bb-3217ef867c1a 3
powercfg -setactive SCHEME_MAX

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

Windows XP マシンの場合は、コマンドライン オプションや設定可能な電源オプションが異なります。こんな感じ。

[PowerCfgForXP.cmd]
----------------------------------------------------------------
@echo off
powercfg /CHANGE 最小の電源管理 /monitor-timeout-ac 5
powercfg /CHANGE 最小の電源管理 /disk-timeout-ac 10
powercfg /CHANGE 最小の電源管理 /standby-timeout-ac 15
powercfg /SETACTIVE 最小の電源管理

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

1 件のコメント:

山市 良(仮名) さんのコメント...

既定の電源プランに戻すには以下のコマンドを。POWERCFG /? では説明されていませんが、3つの電源プラン(バランス、省電力、高パフォーマンス)のすべてが既定値に戻ります。

POWERCFG -RESTOREDEFAULTSCHEMES