Windows 11 を使用していて、意図せず電源プランが「バランス」から「高パフォーマンス」などに切り替わってしまうことがあります。これは主にシステムの最適化アプリやメーカー独自のツールが背景で設定を変更しているためです。この記事では、イベントビューアーを使い、どの実行ファイル(.exe)が電源プランを変更したのかを正確に特定する手順を紹介します。
イベントビューアーでの絞り込み条件
電源プランの変更履歴を探すには、イベントビューアーの「システム」ログを確認します。ただし、イベントID 12 は他のシステムイベントでも使用されることがあるため、ソースを併せて指定することが重要です。
具体的には、以下の 2点を指定してフィルターを行います。
- イベントソース:UserModePowerService
- イベントID:12
この条件で絞り込むことで、電源スキームの変更に関するログだけを抽出できます。
犯人を特定する手順
- スタートボタンを右クリックし、「イベントビューアー」を起動します。
- 左画面の「Windows ログ」から「システム」を選択します。
- 右画面の「現在のログをフィルター」をクリックします。
- 「イベントソース」のドロップダウンリストから「UserModePowerService」を選択してチェックを入れます。
- 「すべてのイベント ID」の欄に 12 と入力し、「OK」を押します。
- 表示されたログを選択し、下部の「全般」タブを確認します。
ログから実行ファイルを確認する
詳細欄には以下のような内容が記載されています。
「プロセス C:\Windows\System32\powercfg.exe (プロセス ID:23916) がポリシー スキーマを {381b4222-f694-41f0-9685-ff5bb260df2e} から {8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c} にリセットします」
この「プロセス」に続くパスが、設定を変更したプログラムです。ここで、記録されている内容によって対応が 2つ に分かれます。
パターン A:特定のアプリ名が直接記録されている場合
メーカー製の管理アプリなどが直接記録されているケースです。原因となるアプリが判明したら、そのアプリの設定で電源管理機能をオフにするか、不要であればアンインストールを検討してください。
パターン B:powercfg.exe が記録されている場合
ログにC:\Windows\System32\powercfg.exeと記録されているケースが多々あります。これは Windows 11 に標準搭載されている電源管理のコマンドラインツールです。この記録が残っている場合、主に 2つの可能性が考えられます。
一つは、ユーザー自身がコマンドプロンプトや PowerShell などから手動で powercfg コマンドを実行したケースです。ご自身でツールを使ったりコマンドを入力した心当たりがある場合は、それが記録されたものです。
もう一つは、OS ではなく、外部アプリなどが、裏側でこの powercfg.exe に命令を出して電源プランを変更させたケースです。「勝手に変わった」と感じる場合の多くはこちらに該当します。この場合、本当の実行犯(アプリ本体)はログに直接名前を残しません。心当たりのある最適化ツールやメーカー独自のユーティリティソフトの設定をひとつずつ見直す必要があります。
ログが powercfg.exe だった場合の本当の犯人の探し方
Windows 11 で電源プランが勝手に変更される際、ログには powercfg.exe と記録されることが多いですが、これは単なる実行コマンドに過ぎません。前回の記事で親プロセスをたどる方法を紹介しましたが、環境によってはうまく親プロセスが記録されないケースもあります。
そのような場合は、最適化ツールなど「怪しいと思われるアプリ」に当たりをつけて、そのアプリの挙動を直接監視するアプローチが非常に有効です。この記事では、Process Monitor を使って特定のアプリを監視する高度な手順を解説します。
Process Monitor のダウンロードと起動
まずは Microsoft の Sysinternals サイトからツールを入手します。
https://learn.microsoft.com/ja-jp/sysinternals/downloads/procmon(公式ページ)
- 検索エンジンで Process Monitor と検索し、Microsoft の公式ページからダウンロードします。
- ダウンロードした ZIP ファイルを展開(解凍)します。展開先のフォルダーはデスクトップなどで構いません。
- フォルダー内にある Procmon64.exe ダブルクリックして実行します。
- 「ユーザーアカウント制御」が表示されたら「はい」をクリックします。
フィルターを設定して監視を開始する
Process Monitor を起動すると、システム上のあらゆるプロセスの動きが大量に記録され始めます。目的の記録だけを見つけるために、フィルターを設定します。
- 起動直後に「Process Monitor Filter」という画面が表示されます。(表示されない場合は、上部メニューの Filter から Filter… をクリックします)
- 左側のドロップダウンリストから、順番に Process Name と is を選択します。
- その右側にある空白の入力欄に監視したいアプリの実行ファイル名(例: SwitchPowerPlan.exe など)を入力し、さらに右側の項目が Include になっていることを確認します。
- Add ボタンをクリックすると、下のリストに条件が追加されます。
- OK をクリックして設定画面を閉じます。
これで、powercfg.exe が動作した時だけ画面に記録が残るようになります。
監視したいプロセスは複数登録できる
監視したいアプリが複数ある場合は、同時に登録することが可能です。 手順3~4(アプリの実行ファイル名を入力し、「Add」ボタンを押す)を繰り返すことで、複数のアプリを一度に監視対象にできます。
デフォルトのチェック項目について
画像にある最初からチェックが入っている項目( Procmon.exe や System など Action が Exclude になっているもの)は、そのままで問題ありません。むしろそのままにしておくべきです。これは、Process Monitor 自身がログを記録する動作などで画面が埋め尽くされるのを防ぐための「システムノイズの除外」設定です。
決定的な証拠 「powercfg.exe」 へのアクセスを見つける
怪しいアプリをフィルターに登録して 「OK」 を押し、監視を続けます。監視を開始したらしばらく放置して、電源プランが勝手に変わる現象が起きたら、記録されたログを確認します。
この際、画面を常に見続ける必要はありません。事前にイベントビューアーで確認しておいた 「電源プランが変更された時刻」 と、 Process Monitor のログに記録された時間が一致する箇所を重点的に確認するのが最も効率的です。
アプリが裏で powercfg.exe を実行して電源設定を書き換えた場合、ログの 「Operation」 の項目に 「CreateFile」 、そして 「Path」 の項目に以下のような実行ファイルのパスが記録されます。
C:\Windows\System32\powercfg.exe
Windows の仕様上、あるアプリが別のプログラム (powercfg.exe) を呼び出して実行する際には、対象のファイルを開くために必ず 「CreateFile」 という操作が行われます。つまり、監視しているアプリが上記のパスに対してアクセスしているログを発見できれば、そのアプリが powercfg.exe を裏で操作している決定的な証拠となります。
原因となるアプリが特定できたら、そのアプリの自動制御機能をオフにするか、アンインストールすることで勝手な電源プランの変更を防ぐことができます。
原因となるアプリへの対処
プロセスツリーから黒幕の実行ファイル名が判明すれば、あとはそのアプリのインストールフォルダーや設定を確認するだけです。 ゲーミングノートPC 向けの管理アプリや最適化ツールが原因であることが多いため、そのアプリの設定画面を開き、電源制御やプロファイル自動切り替えの機能をオフにしてください。不要なツールであれば、アプリ自体をアンインストールすることで根本的に解決できます。







コメント