電源プランを変更するためのサブコマンド
次の表では電源プラン関連のサブコマンドを示す。
Powercfgでは、電源プランとその中の設定項目はすべてGUID(Globally Unique Identifier)と呼ばれる128bit(16バイト)の数値で表現される。設定項目は、「サブグループ」と呼ばれるGUIDでさらにカテゴリー化されている。これらを表示するには、「/Query」サブコマンド(省略形として/Qが使える)を使うが、このサブコマンドは、電源プランGUIDとサブグループGUIDを指定して表示する設定項目を限定できる。
GUIDは128bitの数値で、コマンドラインでは16進数表記にしたマイクロソフトのGUID表記形式で表されるものの、36文字で人間が正しく扱うのはちょっと困難だ。それで、いくつかのGUIDにはエイリアスと呼ばれる「名前」が付けられている。これを表示するのが「/ALIASES」サブコマンドだ。
Powercfgのヘルプは、一般的なサブコマンドのみを表示するもので、実際には、もっとサブコマンドがある。表でグレーの網かけをした部分が、そうした隠しサブコマンドである。また、/QUERYで表示されるGUIDもGUIで設定できるものに限られており、実際には、電源プランには大量の設定項目がある。これらを表示させるのが/QHサブコマンドだ。同様に/ALIASHサブコマンドを使うと、/QHで表示される項目のエイリアスも表示する。
ただし、注意しておきたいのは、/QHで表示される電源設定に関しては、もともとユーザーによる変更を想定していないため、できるだけ触らないようにすることだ。バッテリ駆動しないサーバーなどでは、省電力機能が問題になる場合に変更することがあるが、通常は変更する必要がない。意味や影響を理解せずに変更すると、消費電力が大きくなってしまうなどの問題が発生する可能性がある。
なお、設定がおかしくなってしまったときには、すべてをデフォルト値に戻す「/RESTOREDEFAULTSCHEMES」が利用できる。これは、ユーザーが追加した電源プランなども消えてしまうので利用には注意が必要だ。
さて、電源プランの変更だが、/SETACTIVEで電源プランを切り替え、「/SETACVALUEINDEX」(AC動作時の設定値)、「/SETDCVALUEINDEX」(DC動作時の設定値)で設定値を変更する。設定値の範囲などは、/Qで表示される各項目に表示されている。
このとき、問題になるのは、多くの電源プランサブコマンドでは、対象となる電源プランを指定しなければならないことだ。現在有効な電源プランは「/GETACTIVESCHEME」で得られる。バッチファイルなどを使って電源設定を変更する場合には、引数にGUIDを指定する必要がある。このとき「SCHEME_CURRENT」というエイリアスが利用できる。たとえば、バッテリ利用時に液晶を閉じたときにスリープしないように設定するには、
powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_BUTTONS LIDACTION 0
とする。これをスリープに戻すには、
powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_BUTTONS LIDACTION 1
とする。
変更前の設定値を保存して戻すのは、ちょっと面倒だ。というのは、/SETDCVALUEINDEX、/SETACVALUEINDEXは、0x形式の16進数を理解しないからだ。これに対して、/Queryサブコマンドでは、常に16進数表現を返す。なので、cmd.exe組み込みのforコマンドを使って、以下のリストのような処理をするしかない。
Windowsの電源プランは、一定の設定を使い続ける場合には、電源プランを設定しておいて、切り替えればいいのだが、1項目だけ変更してあとで戻すといった操作は結構面倒だ。このとき、バッチファイルを作っておいて、必要に応じて切り替えればよい。
rem 現在の設定値を環境変数savevalに保存
for /F "usebackq tokens=4" %%i in (`powercfg /q SCHEME_CURRENT SUB_BUTTONS LIDACTION ^| find "現在の DC 電源設定のインデックス:"`) do set saveval=%%i
rem その他の処理
echo %saveval%
rem 値の復帰
for /F "usebackq" %%i in (`set /A %saveval%`) do powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_BUTTONS LIDACTION %%i
この連載の記事
-
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す -
第419回
PC
Windows Insider Previewが変わって、今秋登場のWindows 11 Ver.24H2の新機能が見えてきた? -
第418回
PC
Windows 11のスマートフォン連携は新機能が追加されるなど、いまだ進化している - この連載の一覧へ