🔋

【Windows】電源オプションをコマンドで変更する

に公開

はじめに

OSインストール後に設定することの多い電源オプションの設定変更をコマンドで実施する際の覚え書きです
バッチに組み込むなりコピペで設定するなりにどうぞ

動作確認環境

以下の環境で動作確認済み(いずれもVMWare Workstation Pro上のVM環境)

  • Windows Server 2019
  • Windows Server 2022
  • Windows 11 Pro/Home
  • Windows 10 Pro/Home

実行するコマンド

いずれのコマンドもコマンドプロンプトまたはPowershellから実行する。

電源オプション(GUI)を開く

実行コマンド
powercfg.cpl


実行するとこれが開く

現在有効な電力プラン表示

実行コマンド
powercfg.exe /list
実行例
PS C:\Users\Administrator> powercfg.exe /list

既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (バランス)
電源設定の GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c  (高パフォーマンス) *
電源設定の GUID: a1841308-3541-4fab-bc81-f71556f20b4a  (省電力)
PS C:\Users\Administrator>

有効になっているプランに「 * 」がつく

電源プランを変更する

バランス
実行コマンド
powercfg.exe /s 381b4222-f694-41f0-9685-ff5bb260df2e


実行するとバランスに変更される

省電力
実行コマンド
powercfg.exe /s a1841308-3541-4fab-bc81-f71556f20b4a


実行すると省電力に変更される

高パフォーマンス
実行コマンド
powercfg.exe /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c


実行すると高パフォーマンスに変更される

モード内の設定内容を変更する

ディスプレイの電源を切る
実行コマンド:(AC 適用しないに変更する)
powercfg /SETACVALUEINDEX SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0
実行コマンド:(DC 適用しないに変更する)
powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0


ACは電源に接続 DCはバッテリ駆動の時間が適用しないに変更できる

コンピュータをスリープ状態にする
実行コマンド:(AC 適用しないに変更する)
powercfg /SETACVALUEINDEX SCHEME_CURRENT SUB_SLEEP STANDBYIDLE 0
実行コマンド:(DC 適用しないに変更する)
powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_SLEEP STANDBYIDLE 0


ACは電源に接続 DCはバッテリ駆動の時間が適用しないに変更できる

隠し設定

究極のパフォーマンスプランを出現させる
実行コマンド
powercfg.exe /duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
実行例
PS C:\Users\Administrator> powercfg.exe /duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
電源設定の GUID: 1569cdb6-1315-4d0e-a433-2c45ca12b752  (究極のパフォーマンス)
PS C:\Users\Administrator>


なんだこれ
このプランについて調べてみたところ、「Windows 10/11 Pro for Workstation」に搭載されている電源プランだそうで、基本的には高パフォーマンスをベースにHDDを絶対にスリープにさせないようにしていたり、遅延が極力起きないように最適化されている電源プランとのこと。

バッチにしておく

検証環境等を構築するたびに電源オプションいじるのも面倒なのでバッチスクリプトにしておくと便利

powercfg_setting.bat
@echo off
rem 高パフォーマンスに設定
powercfg.exe /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

rem ディスプレイは切らない
powercfg /SETACVALUEINDEX SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0
powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0

rem スリープにしない
powercfg /SETACVALUEINDEX SCHEME_CURRENT SUB_SLEEP STANDBYIDLE 0
powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_SLEEP STANDBYIDLE 0

exit 0

感想

ITエンジニアになる前からよく使ってました(一応パソコン屋さんだったので…)
設定から電源設定どこだっけ?とかコントロールパネルからプランをポチポチするよりはいくらか楽に設定できる気がします。多分。

隠し設定の究極のパフォーマンスプランは存在は前から知っていましたがどんなプランなのかよく知らなかったので今回記事にすることで調べるきっかけになりました。
Windowsって隠された面白い機能いっぱいありますね。

参考

以下のサイトを参考にさせていただきました
ありがとうございます。
https://learn.microsoft.com/ja-jp/windows-hardware/design/device-experiences/powercfg-command-line-options
https://www2.mouse-jp.co.jp/ssl/user_support2/sc_faq_documents.asp?FaqID=34509

Discussion