- Powercfg /energy analyzes the system and creates an HTML or XML report with errors, warnings, and efficiency information.
- Complement the diagnosis with /batteryreport, /sleepstudy and /systempowerreport for a global view.
- Control devices and timers that wake up the PC and adjust plans precisely (AC/DC, PPM, overlays).
When your laptop lasts less than it should or your desktop consumes more than expected, it's a good idea to have it inspected for energy. WindowsThe key tool is powercfg, and its /energy option scans the system to uncover efficiency issues and generate a report. In this guide, you'll learn how to use it thoroughly, interpret its options, and complement the diagnosis with other useful reports. The goal is for you to obtain clear reports to improve autonomy, consumption and suspension behavior. and understand how Enable or disable battery saving mode in Windows 11.
In addition to /energy, powercfg includes dozens of switches for listing plans, adjusting AC/DC settings, hibernation, devices that wake the computer, and more. We will integrate all this arsenal with good practices and Tricks for real use, always in direct language and with examples ready to copy.
What is powercfg and why is it so useful?
Powercfg is a command line utility commands included in Windows that allows you to list and configure power policy, manage sleep and hibernation states, control device behavior, and generate diagnostic reports. The /energy option is responsible for analyzing the system and creating an HTML with the energy efficiency findings..
The analysis detects several categories of incidents: from inefficient use of selective suspension USB up to excessive CPU usage, high timer resolutions, inefficient policies, and noticeable battery degradation. The report categorizes the findings into errors, warnings, and information so you can prioritize what to fix..
How to run powercfg and basic syntax
Open a Symbol of the system o PowerShell in administrator mode (right-click, Run as administrator). The general syntax is: powercfg /option , where /? displays help for that specific option
powercfg /opcion
powercfg /? (ayuda general)
Remember that some reports are saved in the current directory from which you run the command. If you see C:\> in the console, the HTML for /energy or /batteryreport will be generated there unless you specify /output.
Generate efficiency reports with powercfg /energy
The /energy command scans the system for a period of time (60 seconds by default) and produces an HTML document with the problems found. It is advisable to run the computer in standby mode, without apps open, to measure typical idle conditions. This report is the fastest way to detect why a laptop is using more battery than expected..
powercfg /energy
powercfg /energy /output "informe-energia.html" /duration 120
powercfg /energy /xml
Key parameters: /output (path and filename of the output file), /xml (to export in XML), /duration (seconds), and /trace (records a trace without analysis; useful for drilling down with /d folder). With /trace you will get raw behavioral data that you can then review with diagnostic tools..
powercfg /energy /trace /d C:\\trazas /duration 90
What if you run powercfg /energy and it seems to do nothing? Sometimes the console displays "Enabling tracing for 60 seconds" and returns to the prompt without opening a report. Please check the current folder (C:\\) first or specify /output with a secure path, and confirm that you are running as administratorIf your computer isn't idle or there are any ETW tracking blocks, repeat the scan after closing any potentially interfering applications.
Battery report with powercfg /batteryreport
This HTML report summarizes battery health, cycles, design capacity vs. actual capacity, and life estimates. It is very useful for assessing wear over time and making replacement decisions. It can also be generated in XML and the time window can be limited by days..
powercfg /batteryreport
powercfg /batteryreport /output "batteryreport.html"
powercfg /batteryreport /duration 7
powercfg /batteryreport /output "batteryreport.xml" /xml
Reading the tables and graphs makes it clear how much the battery has deteriorated and whether recent consumption is abnormal. If you combine /batteryreport with /energy you will have a complete view of the “what” and the “why”.
Sleepstudy, sleep diagnostics and energy transitions
To portable With Modern Standby mode, /sleepstudy summarizes how your computer has been sleeping over the past few days, with metrics on power consumption and active periods. You can export as HTML or XML and convert XML to HTML with /transformxml.
powercfg /sleepstudy
powercfg /sleepstudy /output "sleepstudy.html"
powercfg /sleepstudy /duration 7
powercfg /sleepstudy /transformxml "sleepstudy.xml" /output "sleepstudy.html"
The /systemsleepdiagnostics command generates an HTML report about user absence intervals and whether the system was able to sleep. Requires an elevated console. Includes /output, /xml, /duration and /transformxml to manage the format and period.
powercfg /systemsleepdiagnostics
powercfg /systemsleepdiagnostics /output "system-sleep-diagnostics.html"
powercfg /systemsleepdiagnostics /output "system-sleep-diagnostics.xml" /xml
powercfg /systemsleepdiagnostics /transformxml "system-sleep-diagnostics.xml"
For a summary of system power transitions (including efficiency in Connected Standby), use /systempowerreport (also accessible as /spr). It is perfect for understanding the history of power-ups, suspensions and reactivations..
powercfg /systempowerreport
powercfg /systempowerreport /output "system-power-report.html"
powercfg /systempowerreport /output "system-power-report.xml" /xml
powercfg /systempowerreport /duration 3
powercfg /systempowerreport /transformxml "system-power-report.xml"
Plan control: list, activate, duplicate, rename, delete
Powercfg allows you to manage power schemes (plans). Start by listing all available plans and activating the one you're interested in. You can also duplicate a plan to customize it without losing the original..
powercfg /list
powercfg /getactivescheme
powercfg /setactive GUID-DEL-PLAN
powercfg /duplicatescheme GUID-ORIGEN
powercfg /changename GUID "Nombre nuevo"
If you need to export or import plans (for example, between computers), use /export and /import. This creates/consumes .pow files with the complete configuration of a schematic.
powercfg /export C:\\mis-planes\\equilibrado.pow GUID-DEL-PLAN
powercfg /import C:\\mis-planes\\equilibrado.pow
You can also delete a plan by specifying its GUID. Note: you can't delete the active plan; try another plan first. If you want to clean up, make sure you have the list updated with /list.
powercfg /delete GUID-DEL-PLAN
Fine-tuning power settings: /change, AC/DC, and advanced settings
The /change switch modifies simple values for the active plan (display, disk, standby, or hibernation times in minutes). It's the quick way to basic settings without diving into GUIDs.
powercfg /change monitor-timeout-ac 5
To target advanced settings, first identify the GUID of the plan, subgroup, and configuration. Use /setacvalueindex and /setdcvalueindex to set different values for AC or battery (DC) power. The list of possible values and GUIDs is obtained with /query.
powercfg /query
powercfg /query GUID_PLAN GUID_SUBGRUPO
powercfg /setacvalueindex GUID_PLAN GUID_SUBGRUPO GUID_CONFIG VALOR
powercfg /setdcvalueindex GUID_PLAN GUID_SUBGRUPO GUID_CONFIG VALOR
Example (illustrative format with actual system GUIDs): set one index in AC and another in DC for the same configuration precisely.
powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e
238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 0
powercfg /setdcvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e
238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 300
Hibernation and sleep states
Hibernation can be enabled or disabled, and the hiberfile size can be adjusted and the type (reduced or full) can be selected. The reduced type only supports hiberboot. If you disable hibernation, the option to do so also disappears. quick start.
powercfg /hibernate on
powercfg /hibernate off
powercfg /hibernate /size 100
powercfg /hibernate /type reduced
To find out which sleep states your computer supports, use /availablesleepstates (/A). The command attempts to explain why some state may not be available.
powercfg /availablesleepstates
Devices and timers that wake up the computer
Query which devices can wake the system or are armed to do so with /devicequery and its flags. It is very useful for hunting unexpected “awakenings” during the night and protocols such as Wake-on-LAN in Windows 11.
Enables or disables the wake-up capability of a specific device by specifying its name as it appears in the query. Ideal for preventing a USB mouse from reviving your PC with a light touch.
powercfg /deviceenableawake "Microsoft USB IntelliMouse Optical"
powercfg /devicedisablewake "Microsoft USB IntelliMouse Optical"
Additionally, /waketimers lists timers that could wake the computer from sleep, while /lastwake shows what caused the last wake-up. With these two levers, the “mystery” of unexpected ignitions is usually solved..
powercfg /waketimers
powercfg /lastwake
Energy demands that prevent sleep
If the PC doesn't go to sleep, there may be active requests from applications, services, or drivers. Review them with /requests and, if necessary, set exceptions with /requestsoverride. Overrides can be applied to display, system, or awaymode.
powercfg /requests
powercfg /requestsoverride process wmplayer.exe display system
USB Selective Suspend and ETW: Truly Efficient
USB Selective Suspend allows devices to be turned off when they're inactive to save power and then reactivated when they're next used. If properly implemented in drivers and devices, the savings are significant, and the processor enters low-power states. When something isn't right, idle consumption shoots up and /energy usually signals this..
To further investigate USB behavior, you can use ETW (Event Tracing for Windows) and correlate activity/suspend events. Powercfg /energy already detects inefficient use of selective suspend, but detailed tracing (/energy /trace) can help you identify the specific trigger. Always validate that USB drivers and devices support selective suspend correctly., and if you detect problems, check how fix power state controller failure.
Aliases, security, and detailed configuration reading
/aliases returns aliases and their corresponding GUIDs; they serve as shortcuts for other commands. It's a more convenient way to refer to subgroups like SUB_PROCESSOR or SUB_GRAPHICS.
powercfg /aliases
To inspect a specific plan or subgroup, /query displays the current values; if you omit parameters, you'll see the settings for the active plan. It is the first step before playing AC/DC indices accurately.
powercfg /query
powercfg /query GUID_PLAN GUID_SUBGRUPO
In managed environments, you can query or set security descriptors associated with plans, configurations, or actions. Use /getsecuritydescriptor and /setsecuritydescriptor with GUIDs or with actions such as ActionSetActive. The value is expressed in SDDL; first get an example with /getsecuritydescriptor.
powercfg /getsecuritydescriptor 381b4222-f694-41f0-9685-ff5bb260df2e
powercfg /getsecuritydescriptor ActionSetActive
powercfg /setsecuritydescriptor 381b4222-f694-41f0-9685-ff5bb260df2e O:BAG:SYD:P(...)
powercfg /setsecuritydescriptor ActionSetActive O:BAG:SYD:P(...)
Overlay schemes and PPM profiles
Overlay schemes allow you to customize only settings that affect the performance/economy balance, primarily in processor (SUB_PROCESSOR) and graphics (SUB_GRAPHICS) subgroups. Writing outside of these subgroups in an overlay will return an error. Reading and writing overlays is integrated with the same commands /q, /setacvalueindex and /setdcvalueindex using aliases.
powercfg /q ALIAS_OVERLAY SUBGRUPO CONFIG
powercfg /setacvalueindex ALIAS_OVERLAY SUBGRUPO CONFIG VALOR
powercfg /setdcvalueindex ALIAS_OVERLAY SUBGRUPO CONFIG VALOR
PPM (Processor Power Management) profiles can also be queried with /queryprofile (/qp) and set with /setacprofileindex and /setdcprofileindex. PPM profile aliases are visible with /aliases and support omitted arguments as in /q, or they can be used to fine-tune parking of cores with core parking with ParkControl.
powercfg /queryprofile ALIAS_OVERLAY_O_PLAN PERFIL CONFIG
powercfg /qp ALIAS_OVERLAY_O_PLAN PERFIL CONFIG
powercfg /setacprofileindex ALIAS_OVERLAY_O_PLAN PERFIL CONFIG VALOR
powercfg /setdcprofileindex ALIAS_OVERLAY_O_PLAN PERFIL CONFIG VALOR
To find out which PPM profiles have explicit values, use /listprofiles (/lp). It is the way to audit active customizations on the device.
powercfg /listprofiles
powercfg /lp
Generating Provisioning XML (pxml)
Powercfg allows you to automatically generate a provisioning XML with all device settings marked as RUNTIME_OVERRIDE, ready to use in Windows Configuration Designer and create a .ppkg package. You can specify version, name, ID (GUID) and owner.
powercfg /pxml /output C:\\salida\\power-settings.xml
powercfg /pxml /output C:\\salida\\power-settings.xml \
/version 1.0 /name CustomOEM.Power.Settings.Control \
/id 00000000-0000-0000-0000-000000000000 /owner OEM
More essential commands and practical tricks
For quick queries: list plans (/list), activate one (/setactive), delete a plan (/delete), toggle hibernation (/hibernate on|off), analyze efficiency (/energy), see the cause of the last wake-up (/lastwake) or know why it won't sleep (/requests). These basics solve 90% of everyday cases.
powercfg /list
powercfg /setactive GUID
powercfg /delete GUID
powercfg /hibernate OFF
powercfg /hibernate ON
powercfg /energy
powercfg /batteryreport
powercfg /lastwake
powercfg /requests
powercfg /devicequery S3_supported
Automate with .bat scripts: Open Notepad, type command lines, and save as .BAT (not .BAT.TXT). Double-clicking it will apply the changes instantly. For a nicer access, create a shortcut to the .BAT and change its icon in Properties.
Troubleshooting the case where "I launch /energy and the report doesn't appear"
If after “Enabling tracking for 60 seconds” you return to the prompt without opening anything, check these points: 1) Run as administrator; 2) Set /output to your own path (e.g., C:\Users\YourUser); 3) Close apps that are constantly running; 4) Try /duration 120 to better observe the system..
powercfg /energy /output "C:\\Usuarios\\TuUsuario\\informe-energia.html" /duration 120
Note that the report doesn't "open" automatically; it's saved in the current path or the one you specify with /output. Check that the file exists in the expected directory and open it with the browser, and if you still have problems with the configuration, consult Windows 11 doesn't save power settings.
Permissions and security: beyond the user
Some commands require elevated privileges (for example, /systemsleepdiagnostics). If you manage networked computers, SDDL security descriptors allow you to fine-tune who can create, activate, or reset plans. Rely on /getsecuritydescriptor to start from a valid SDDL and avoid errors.
Products and environments where these reports make a difference
Reporting with powercfg is especially valuable on fleet and work laptops: G Series, Alienware, Dell Laptops, Dell Plus, Dell Pro, Dell Pro Max, Dell Pro Plus, Dell Pro Premium, Inspiron, Latitude, Dell Pro Rugged, Vostro, XPS, “Legacy” models, and mobile workstations (including the Dell Pro Max 16 XE MC16250). In all of them, /energy, /batteryreport, /sleepstudy and /systempowerreport facilitate support and optimization.
Below is a rewritten compendium of available options, with their description, syntax, and examples. Use it as a quick reference for every need.
/?, -help
Displays help for command line parameters. Perfect for remembering syntax on the spot.
powercfg /?
/list, /L
Lists all power plans on the system. Essential to know GUIDs.
powercfg /list
/query, /Q
Displays the contents of a plan, subgroup, or active configuration if you omit GUIDs. Useful for discovering possible values before setting them.
powercfg /query
powercfg /query GUID_PLAN
powercfg /query GUID_PLAN GUID_SUBGRUPO
/change, /X
Quick adjustment of times (monitor/disk/standby/hibernate) for AC or DC in the active plan. Values are expressed in minutes.
powercfg /change monitor-timeout-ac 5
/changename
Change the name and description of a plan. Ideal for labeling corporate settings.
powercfg /changename GUID "Equilibrado Personalizado"
/duplicatescheme
Clones a plan and returns the new GUID. Allows you to experiment without losing the original.
powercfg /duplicatescheme GUID_ORIGEN
/delete, /D
Deletes the plan indicated by GUID (cannot be the active one). Use it after confirming with /list
powercfg /delete GUID
/deletesetting
Deletes a specific configuration within a subgroup. You need subgroup and setting GUIDs.
powercfg /deletesetting GUID_SUBGRUPO GUID_CONFIG
/setactive, /S
Activate the indicated plan. Applies immediately.
powercfg /setactive GUID
/getactivescheme
Returns the currently active plan. Quick to verify changes.
powercfg /getactivescheme
/setacvalueindex
Sets the value of a setting when the computer is on AC. Requires plan, subgroup, configuration, and index GUIDs.
powercfg /setacvalueindex GUID_PLAN GUID_SUBGRUPO GUID_CONFIG INDICE
/setdcvalueindex
Same as above, but for DC (battery). Allows different mobility profiles.
powercfg /setdcvalueindex GUID_PLAN GUID_SUBGRUPO GUID_CONFIG INDICE
/import
Import a plan from a .pow file; you can assign a GUID. Exchange settings between computers.
powercfg /import C:\\plan.pow
/export
Export a plan to a file. Back it up before big changes.
powercfg /export C:\\plan.pow GUID
/aliases
Displays aliases and their GUIDs for use as shortcuts. Save typing long GUIDs.
powercfg /aliases
/getsecuritydescriptor
Gets the security descriptor of a configuration/plan/action. Key in managed environments.
powercfg /getsecuritydescriptor GUID
powercfg /getsecuritydescriptor ActionSetActive
/setsecuritydescriptor
Establishes an SDDL for configuration/plan/action. It is recommended to first obtain a valid SDDL with /getsecuritydescriptor.
powercfg /setsecuritydescriptor GUID SDDL
powercfg /setsecuritydescriptor ActionSetActive SDDL
/hibernate, /H
Enable/disable hibernation and adjust the hiberfile. Supports /size and /type (reduced|full).
powercfg /hibernate off
powercfg /hibernate /size 100
powercfg /hibernate /type reduced
/availablesleepstates, /A
Reports available suspension statuses and reasons for unavailability. Rapid diagnosis of S1/S2/S3/S4.
powercfg /availablesleepstates
/devicequery
List devices according to criteria: wake_from_S1/S2/S3, wake_from_any, S1/S2/S3/S4_supported, wake_programmable, wake_armed, all_devices. Fine-tune what the team can awaken.
powercfg /devicequery wake_armed
/deviceenableawake
Allows a device to wake up the system. Use the name as returned by /devicequery.
powercfg /deviceenableawake "Nombre del dispositivo"
/devicedisablewake
Blocks the device from waking the system. Avoid reactivations by mistake.
powercfg /devicedisablewake "Nombre del dispositivo"
/lastwake
Indicates what caused the last activation. Ideal after an unwanted awakening.
powercfg /lastwake
/waketimers
Lists active wake-up timers. Find programs that will turn on the equipment.
powercfg /waketimers
/ requests
Displays power requests from apps/drivers that prevent the screen from sleeping or turning off. The classic cause of “not sleeping”.
powercfg /requests
/requestsoverride
Defines request overrides for a process, service, or driver, in display/system/awaymode. Use it judiciously in specific cases.
powercfg /requestsoverride process nombre.exe display system
/energy
Analyzes the system for efficiency problems and generates an HTML or XML. Supports /output, /xml, /duration, /trace and /d.
powercfg /energy
powercfg /energy /output "longtrace.html" /duration 120
/batteryreport
Creates an HTML (or XML) report of battery usage and status. Allows /output and /duration (days).
powercfg /batteryreport /output "batteryreport.html"
powercfg /batteryreport /duration 4
/sleepstudy
Generates a diagnosis of modern waiting in the last days. It can be transformed from XML to HTML.
powercfg /sleepstudy /output "sleepstudy.html"
powercfg /sleepstudy /duration 7
/srumutil
Dumps SRUM energy estimate data to XML or CSV. For detailed analysis of app consumption.
powercfg /srumutil /output "srumreport.xml" /xml
/systemsleepdiagnostics
Report on intervals without a user and whether the system managed to sleep (requires admin). Export HTML or XML and allow XML transformation.
powercfg /systemsleepdiagnostics /output "system-sleep-diagnostics.html"
/systempowerreport, /spr
Energy transition report for the past few days (includes Connected Standby). Supports /output, /xml, /duration and /transformxml.
powercfg /systempowerreport /output "system-power-report.html"
With all of the above, powercfg becomes your energy “Swiss Army knife”: it diagnoses with /energy, cross-references data with /batteryreport and /sleepstudy, controls what wakes up the device, and fine-tunes policies using AC/DC and PPM profiles. In just a few minutes you'll know what's holding you back and which levers to push..
Passionate writer about the world of bytes and technology in general. I love sharing my knowledge through writing, and that's what I'll do on this blog, show you all the most interesting things about gadgets, software, hardware, tech trends, and more. My goal is to help you navigate the digital world in a simple and entertaining way.