🔋
【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って隠された面白い機能いっぱいありますね。
参考
以下のサイトを参考にさせていただきました
ありがとうございます。
Discussion