この記事は Wano Group Advent Calendar 2025 の17日目の記事となります。
概要
情シスでヘルプデスクをやってますと「勝手にPCが壊れた」の次に多い問い合わせは「PCのバッテリーがもたない」です。絶対そうなのです。
Windowsには「スリープ中にバッテリーが減りすぎる」「スリープに入ったはずがすぐ復帰する」「放置すると本体が熱い」など、電源まわりの不調が起きたときに役立つコマンド powercfg /systempowerreport があります。
この記事では、
-
systempowerreportの概要 - レポートの見方(どこを見ればよいか)
- 一次対応として「休止状態」を推奨する理由
- AIに分析させると切り分けが速くなる話
をまとめます。
1. powercfg /systempowerreport の概要
systempowerreport は Windows の電源移行(スリープ/復帰など)を解析し、HTMLレポートとして出力するコマンドです。Modern Standby(S0 Low Power Idle / Connected Standby)環境では、スリープ中の電源効率や、省電力への移行を邪魔している要因(Blockers) も確認できます。
実行方法
管理者権限のターミナルで実行します。
powercfg /systempowerreport
実行するとHTMLが生成されます(保存先は環境によって異なります)。
2. レポートの見方(最初に見るべきポイント)
レポートは情報量が多いので、慣れるまでは「見る順番」を固定すると読みやすいです。私は次の順で見るように心がけてます。
2-1. まずは「いつ問題が起きたか」を掴む
レポート冒頭の System Power State Transitions は、直近7日間の「バッテリー残量の推移」と「その時間帯の稼働度合い」を俯瞰できる 索引 のようなグラフです。
ここで怪しい時間帯を見つけて、後続のセッション詳細(Sleep/Screen Off など)に降りていくと効率よく切り分けできます。
グラフの見方(最低限ここだけ)
- 縦軸:バッテリー残量(%)
-
線の種類
- 点線:AC電源(充電器/ドック給電など)接続中
- 実線:バッテリー駆動中
- 線なし:電源OFF相当(シャットダウン/休止状態など)
-
背景色(稼働度合いの目安)
- Grey:Active(起動して作業している時間帯)
- Green:Low system activity(本来は静かなはず)
- Orange/Red:中〜高活動(“寝ているはず”の時間帯に出たら要注意)
何を探すか(=「問題が起きたタイミング」の当たりを付ける)
-
実線(バッテリー駆動)で急にガクッと落ちる箇所
→ 放置中に減っている可能性。該当時刻の前後の Sleep/Screen Off セッションを確認します。 -
“寝ているはず”の時間帯に Orange/Red が出ている箇所
→ 何かが起き続けている/深い省電力に入れていない可能性。後続で ExitReason / EnterReason と Top Offenders を重点的に見ます。 -
点線(AC接続)なのに減っている・増えない箇所
→ 給電不足(ドック経由など)や負荷過多の可能性があります。
このグラフで「怪しい時間帯」を特定できると、次に見るセッション(Sleep/Screen Off)や原因候補(USB/ネットワーク等)などチェックしていきます。
2-2. ExitReason(復帰理由)を見る
powercfg /systempowerreport のHTML内では、各セッションの詳細画面にある Detailed Session Information → General に Enter Reason / Exit Reason が表示されます(SessionId をクリックすると詳細が開きます)。
- Enter Reason:そのセッションに入った理由(例:Transition To Sleep など)
- Exit Reason:そのセッションが終わった理由=「なぜ復帰(またはスリープ継続を断念)したか」のヒント
なぜここを見るのか(理由)
電源トラブルは「体感」と「実際に起きたこと」がズレがちです。 ExitReason を見ると、原因の方向性を最短で絞れます。
-
Input Keyboard / Input Mouse などが出る
→ 入力デバイス(キーボード/マウス/USBレシーバー等)が復帰要因の可能性があります。
意図せず微小な入力やデバイス側の挙動で起こされているケースですね。 -
Timer / Maintenance などが出る
→ タスクスケジューラ、メンテナンス、更新処理の可能性。
「一定時間で勝手に起きる」系の切り分けに有効です。 -
Restricted Standby Battery Drain Budget Exceeded が出る
→ Modern Standby 中の消費電力が大きすぎて、OSがスリープ継続を諦めた(または深い省電力に入れない)サイン。
ここが出た場合は、次の 2-3 で「どこをどう読むか」を決め打ちで深掘りします。
2-3. 重要:Restricted Standby Battery Drain Budget Exceeded が出たときの読み解き方
ExitReason(または EnterReason)に Restricted Standby Battery Drain Budget Exceeded が出た場合は、「Modern Standby 中の消費電力が基準を超えたため、OSがスリープ継続を断念した/深い省電力に入れなかった」可能性が高いです。
このとき大事なのは、“原因を当てに行く順番” を固定することです。
1) まず Top Offenders を見る(次節 2-4)
そのセッションで「省電力を邪魔した主犯候補」が上位に並びます。
よく出る例は以下の通り。
- USB xHCI(USBホストコントローラ)
- PCI Express
- NVM Express(NVMe)
- Network-Refresh Activator(ネットワーク更新系)
例えば Top Offenders に USB が目立つなら、USBレシーバー、ドック、ハブ、変換アダプタなどを疑う価値があります。
2) 次に “Unknown” の有無を見る(2-5)
レポート上でアプリ名が綺麗に出ず、Unknown として消費が出ることがあります。
この場合は「犯人プロセス探し」よりも、デバイス・ドライバ・ファーム寄りの調査を進めたほうが良いです。
3) 最後に切り分け
Restricted Standby Battery Drain Budget Exceeded が出たら、まずはコストが低い順に切り分けるのが早いです。
- USB機器をすべて外して再現するか(レシーバー/ドック/ハブ含む)
- 機内モードで再現するか(ネットワーク起因の切り分け)
- ドライバ/ファーム更新(Wi-Fi / USB / チップセット / ストレージ優先)
3. 一次対応:スリープより「休止状態」を推奨する理由
電源トラブルの一次対応として、私は スリープではなく休止状態(Hibernate) を勧めることが多いです。
3-1. 休止状態は“放置時の消費が小さく安定”
休止状態はメモリ内容をディスクへ退避して、電源断に近い状態になります。
そのため、放置時の消費が小さく、トラブルの影響を受けにくいです。
一方の Modern Standby は「通知/同期のために起きる余地」があり、何かが噛み合わないと “寝てるのに減る・熱い” が起きやすいです。
3-2. 原因が未特定でも被害を止められる
原因調査は時間がかかることがあるので、まずは「バッテリーが急減する」「カバンの中で熱くなる」のような被害を止めるの優先します。休止状態にするだけで体感が改善することがあります。
3-3. 休止状態のデメリット(注意点)
一次対応としては休止状態が安定しやすい一方で、次のようなデメリットもあります。
-
復帰がスリープより遅いことがある
休止状態はメモリ内容をディスクに書き出してから電源断に近い状態にするため、端末やストレージ性能によっては復帰が体感で遅くなります。 -
ディスク容量を使う
休止状態を使うためにシステムが休止用ファイル(hiberfil.sys)を確保します。ストレージが逼迫している端末では気になることがあります。 -
一部環境では相性問題が起きることがある
特定のドライバや周辺機器、暗号化/管理ソフト等の構成によっては、まれに復帰後に挙動が不安定になるケースがあります(この場合はドライバ更新や周辺機器の切り分けが有効かも)。
4. AIに分析
systempowerreport は情報量が多く、慣れていないと「どこが重要か」判断が難しいです。
そこで AIにレポート(または該当部分)を渡して、重要なサインを抽出してもらう と切り分けが速くなります。
4-1. どう助かるか
- 見るべき箇所(ExitReason / Budget Exceeded / Top Offenders など)を優先順位付きで提示
- 「アプリ寄りか、デバイス/ドライバ寄りか」など、仮説を立ててくれる
- 次に試すべき 切り分け手順(USB外す→ネットワーク切る→…)を提案してくれる
特に “Unknown” が多くて手掛かりが薄い時ほど、人間が読み解くのは大変なので、サマリ化させるだけでも価値があります。
4-2. 渡し方のコツ
- HTML全体を丸ごとでも良いですが、 問題が起きたセッション周辺 がオススメです。
- 「このセッションの ExitReason と Top Offenders を説明して」「原因候補を3つに絞って」など、質問を具体化すると精度が上がります。
全体を見てもはっきりわからない場合は以下のプロンプトがオススメです。
ExitReason と、Top Offenders(省電力を阻害した上位要因の表)を説明して
または、どのセッションの何を見ればいいか明確な場合は以下がオススメ。
SessionId 24 の Detailed Session Information(General)と、Top Offenders のデータを添付しました。
原因候補を3つに絞って、次の切り分け手順も提案してください。
5. おまけ:実務で効く切り分け手順
色々書きましたが、原因を絞るときはだいたいこの順です。時間がなければ 4だけでも当たることが多いです。
- USB機器を全部外す(ドングル/ドック/ハブ含む)
- 機内モードで放置(ネットワーク起因の切り分け)
-
powercfg /lastwake/powercfg /devicequery wake_armedで「起こした要因」を確認 - Wi-Fi / USB / チップセット / ストレージ周りの ドライバ・ファーム更新
まとめ
最後に、今回の「Windowsの電源トラブル調査」についてまとめです。
-
powercfg /systempowerreportは電源トラブルの「事実」を掴むのに強い - まずは ExitReason / Budget Exceeded / TopBlockers を見る
- 一次対応は 休止状態が安定でおすすめ
- 情報量が多いので、AIに要点抽出・仮説立てをさせると切り分けが速い


