Training
Module
Explore common configuration options - Training
This module discusses configuring and customizing some of the common default settings in Windows clients.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Use powercfg.exe to control power plans - also called power schemes - to use the available sleep states, to control the power states of individual devices, and to analyze the system for common energy-efficiency and battery-life problems.
Powercfg command lines use the following syntax:
powercfg /option [arguments] [/?]
where option is one of the options listed in the following table, and arguments is one or more arguments that apply to the selected option. Including /? in a command line displays help for the specified option. Options and arguments are described in more detail later in this topic.
Option | Description |
---|---|
/?, -help | Displays information about command-line parameters. |
/list, /L | Lists all power schemes. |
/query, /Q | Displays the contents of a power scheme. |
/change, /X | Modifies a setting value in the current power scheme. |
/changename | Modifies the name and description of a power scheme. |
/duplicatescheme | Duplicates a power scheme. |
/delete, /D | Deletes a power scheme. |
/deletesetting | Deletes a power setting. |
/setactive, /S | Makes a power scheme active on the system. |
/getactivescheme | Retrieves the currently active power scheme. |
/setacvalueindex | Sets the value associated with a power setting while the system is powered by AC power. |
/setdcvalueindex | Sets the value associated with a power setting while the system is powered by DC power. |
/import | Imports all power settings from a file. |
/export | Exports a power scheme to a file. |
/aliases | Displays all aliases and their corresponding GUIDs. |
/getsecuritydescriptor | Gets a security descriptor associated with a specified power setting, power scheme, or action. |
/setsecuritydescriptor | Sets a security descriptor associated with a power setting, power scheme, or action. |
/hibernate, /H | Enables and disables the hibernate feature. |
/availablesleepstates, /A | Reports the sleep states available on the system. |
/devicequery | Returns a list of devices that meet specified criteria. |
/deviceenableawake | Enables a device to wake the system from a sleep state. |
/devicedisablewake | Disables a device from waking the system from a sleep state. |
/lastwake | Reports information about what woke the system from the last sleep transition. |
/waketimers | Enumerates active wake timers. |
/requests | Enumerates application and driver Power Requests. |
/requestsoverride | Sets a Power Request override for a particular Process, Service, or Driver. |
/energy | Analyzes the system for common energy-efficiency and battery life problems. |
/batteryreport | Generates a report of battery usage. |
/sleepstudy | Generates a diagnostic system power transition report. |
/srumutil | Dumps Energy Estimation data from System Resource Usage Monitor (SRUM). |
/systemsleepdiagnostics | Generates a diagnostic report of system sleep transitions. |
/systempowerreport | Generates a diagnostic system power transition report. |
The following sections describe Powercfg command-line options and arguments.
Displays information about command-line parameters.
Syntax:
powercfg /?
Lists all power schemes.
Syntax:
powercfg /list
Displays the contents of the specified power scheme.
Syntax:
powercfg /query [
scheme_GUID
] [
sub_GUID
]
If neither the parameter scheme_GUID or sub_GUID are provided, the settings of the current active power scheme are displayed. If the parameter sub_GUID is not specified, all settings in the specified power scheme are displayed.
Arguments:
scheme_GUID
Specifies a power scheme GUID. Running powercfg /list returns a power scheme GUID.
sub_GUID
Specifies a power-setting subgroup GUID. A power setting subgroup GUID is returned by running powercfg /query.
Examples:
powercfg /query
powercfg /query 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20
Modifies a setting value in the current power scheme.
Syntax:
/change setting value
Arguments:
setting
Specifies one of the following options:
value
Specifies the new value, in minutes.
Examples:
powercfg /change monitor-timeout-ac 5
Modifies the name of a power scheme and optionally its description.
Syntax:
powercfg /changename *scheme_GUID * name [description]
Arguments:
scheme_GUID
Specifies a power scheme GUID. Running powercfg /list returns a power scheme GUID.
name
Specifies the power scheme's new name.
description
Specifies the power scheme's new description. If no description is specified, only the name is changed.
Examples:
powercfg /changename 381b4222-f694-41f0-9685-ff5bb260df2e "Customized Balanced"
Duplicates the specified power scheme. The resulting GUID which represents the new scheme is displayed.
Syntax:
powercfg /duplicatescheme scheme_GUID [destination_GUID]
Arguments:
scheme_GUID
Specifies a power scheme GUID. A power scheme GUID is returned by running powercfg /list.
destination_GUID
Specifies the new power scheme's GUID. If no GUID is specified, a new GUID is created.
Examples:
powercfg /duplicatescheme 381b4222-f694-41f0-9685-ff5bb260df2e
Deletes the power scheme with the specified GUID.
Syntax:
powercfg /delete scheme_GUID
Arguments:
scheme_GUID
Specifies a power scheme GUID. A power scheme GUID is returned by running powercfg /list.
Examples:
powercfg /delete 381b4222-f694-41f0-9685-ff5bb260df2e
Deletes a power setting.
Syntax:
powercfg /deletesetting sub_GUID setting_GUID
Arguments:
sub_GUID
Specifies a power setting subgroup GUID. A power setting subgroup GUID is returned by running powercfg /query.
setting_GUID
Specifies a power setting GUID. A power setting GUID is returned by running powercfg /query.
Examples:
powercfg /deletesetting 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da
Makes the specified power scheme active on the system.
Syntax:
powercfg /setactive scheme_GUID
Arguments:
scheme_GUID
Specifies a power scheme GUID. A power scheme GUID is returned by running powercfg /list.
Examples:
powercfg /setactive 381b4222-f694-41f0-9685-ff5bb260df2e
Retrieves the currently active power scheme.
Syntax:
powercfg /getactivescheme
Sets the value associated with a specified power setting while the system is powered by AC power.
Syntax:
powercfg /setacvalueindex scheme_GUID sub_GUID setting_GUID setting_index
Arguments:
scheme_GUID
Specifies a power scheme GUID. A power scheme GUID is returned by running powercfg /list.
sub_GUID
Specifies a power setting subgroup GUID. Running powercfg /query returns a power setting subgroup GUID.
setting_GUID
Specifies a power setting GUID. A power setting GUID is returned by running powercfg /query.
setting_index
Specifies which possible value this setting is set to. A list of possible values is returned by running powercfg /query.
Examples:
powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 0
Sets the value associated with a specified power setting while the system is powered by DC power.
Syntax:
powercfg /setdcvalueindex scheme_GUID sub_GUID setting_GUID setting_index
Arguments:
scheme_GUID
Specifies a power scheme GUID. A power scheme GUID is returned by running powercfg /list.
sub_GUID
Specifies a power setting subgroup GUID. A power setting subgroup GUID is returned by running powercfg /query.
setting_GUID
Specifies a power setting GUID. A power setting GUID is returned by running powercfg /query.
setting_index
Specifies which possible value this setting is set to. A list of possible values is returned by running powercfg /query.
Examples:
powercfg /setdcvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 300
Imports a power scheme from the specified file.
Syntax:
powercfg /import file_name [GUID]
Arguments:
file_name
Specifies a fully-qualified path to a file returned by running powercfg /export.
GUID
Specifies the GUID for the imported scheme. If no GUID is specified, a new GUID is created.
Examples:
powercfg /import c:\scheme.pow
Exports a power scheme, represented by the specified GUID, to the specified file.
Syntax:
powercfg /export file_name GUID
Arguments:
file_name
Specifies a fully-qualified path to a destination file.
GUID
Specifies a power scheme GUID. A power scheme GUID is returned by running powercfg /list.
Examples:
powercfg /export c:\scheme.pow 381b4222-f694-41f0-9685-ff5bb260df2e
Displays a list of aliases and their corresponding GUIDs. These aliases may be used instead of a GUID in any command.
Syntax:
powercfg /aliases
Note
Some settings do not contain aliases. For a full list of GUIDs, use powercfg /query.
Gets the security descriptor associated with the specified power setting, power scheme, or action.
Syntax:
powercfg /getsecuritydescriptor GUID | action
Arguments:
GUID
Specifies a power scheme or a power setting GUID. A power scheme GUID is returned by running powercfg /list. A power setting GUID is returned by running powercfg /query.
action
Specifies one of the following actions:
Examples:
powercfg /getsecuritydescriptor 381b4222-f694-41f0-9685-ff5bb260df2e<br />
powercfg /getsecuritydescriptor ActionSetActive
Sets a security descriptor associated with the specified power setting, power scheme, or action.
Syntax:
powercfg /setsecuritydescriptor GUID | action SDDL
Arguments:
GUID
Specifies a power scheme or a power setting GUID. A power scheme GUID is returned by running powercfg /list. A power setting GUID is returned by running powercfg /query.
action
Specifies one of the following actions:
SDDL
Specifies a valid security descriptor string in SDDL format. An example SDDL string can be obtained by running powercfg /getsecuritydescriptor.
Examples:
powercfg /setsecuritydescriptor 381b4222-f694-41f0-9685-ff5bb260df2e O:BAG:SYD:P(A;CI;KRKW;;;BU)(A;CI;KA;;;BA)(A;CI;KA;;;SY)(A;CI;KA;;;CO)<br />
powercfg /setsecuritydescriptor ActionSetActive O:BAG:SYD:P(A;CI;KR;;;BU)(A;CI;KA;;;BA)(A;CI;KA;;;SY)(A;CI;KA;;;CO)
Enables or disables the hibernate feature; also, sets the hiberfile size.
Syntax:
powercfg /hibernate
powercfg /hibernate [ on | off ]
powercfg /hibernate [ /size percent_size]
powercfg /hibernate [ /type reduced | full ]
Arguments:
On
Enables the hibernate feature.
Off
Disables the hibernate feature.
/size percent_size
Specifies the desired hiberfile size as a percentage of the total memory size. The default size cannot be smaller than 50. This parameter also causes hibernation to be enabled.
/type reduced | full
Specifies the desired hiberfile type. A reduced hiberfile only supports hiberboot.
Note
A hiberfile that has a custom default size, or HiberFileSizePercent >= 40, is considered as a full hiberfile. HiberFileSizePercent is set in the registry in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power.
To change the hiberfile type to reduced, the OS has to manage the default hiberfile size. To do this, run the following commands:
powercfg /hibernate /size 0
powercfg /hibernate /type reduced
Examples:
powercfg /hibernate off<br /> powercfg /hibernate /size 100<br /> powercfg /hibernate /type reduced
Reports the sleep states available on the system. Attempts to report reasons why sleep states are unavailable.
Syntax:
powercfg /availablesleepstates
Returns a list of devices that meet the specified criteria.
Syntax:
powercfg /devicequery query_flag
Arguments:
query_flag
Specifies one of the following criteria:
wake_from_S1_supported Returns all devices that support waking the system from a light sleep state.
wake_from_S2_supported Returns all devices that support waking the system from a deeper sleep state.
wake_from_S3_supported Returns all devices that support waking the system from the deepest sleep state.
wake_from_any Returns all devices that support waking the system from any sleep state.
S1_supported Lists devices supporting light sleep.
S2_supported Lists devices supporting deeper sleep.
S3_supported Lists devices supporting deepest sleep.
S4_supported List devices supporting hibernation.
wake_programmable Lists devices that are user-configurable to wake the system from a sleep state.
wake_armed Lists devices that are currently configured to wake the system from any sleep state.
all_devices Returns all devices present in the system.
Examples:
powercfg /devicequery wake_armed
Enables the specified device to wake the system from a sleep state.
Syntax:
powercfg /deviceenableawake device_name
Arguments:
device_name
Specifies a device. This device name may be retrieved using powercfg /devicequery wake_programmable.
Examples:
powercfg /deviceenableawake "Microsoft USB IntelliMouse Optical"
Disables the specified device from waking the system from a sleep state.
Syntax:
powercfg /devicedisablewake device_name
Arguments:
device_name
Specifies a device. This device name may be retrieved using powercfg /devicequery wake_armed.
Examples:
powercfg /devicedisablewake "Microsoft USB IntelliMouse Optical"
Reports information about what woke the system from the last sleep transition.
Syntax:
powercfg /lastwake
Enumerates the active wake timers. If enabled, the expiration of a wake timer wakes the system from sleep and hibernate states.
Syntax:
powercfg /waketimers
Enumerates application and driver Power Requests. Power Requests prevent the computer from automatically powering off the display or entering a low-power sleep mode.
Syntax:
powercfg /requests
Sets a Power Request override for a particular process, service, or driver. If no parameters are specified, this command displays the current list of Power Request overrides.
Syntax:
powercfg /requestsoverride [caller_type name request]
Arguments:
Caller_type
Specifies one of the following caller types: process, service, driver. This is obtained by running powercfg /requests.
name
Specifies the caller name. This is the name returned by running powercfg /requests.
request
Specifies one or more of the following Power Request types:
Examples:
powercfg /requestsoverride process wmplayer.exe display system
Analyzes the system for common energy-efficiency and battery-life problems and generates a report, an HTML file, in the current path.
Syntax:
powercfg /energy [ /output file_name] [ /xml ] [ /duration seconds ]
powercfg /energy /trace [ /d file_path] [ /xml ] [ /duration seconds]
The /energy option should be used when the computer is idle and has no open programs or documents.
Arguments:
/output file_name
Specify the path and file name to store the energy report HTML or XML file.
/xml
Formats the report file as XML.
/duration seconds
Specifies the number of seconds to observe system behavior. Default is 60 seconds.
/trace
Records system behavior and does not perform analysis. Trace files are generated in the current path unless the /D parameter is specified.
/d file_path
Specify the directory to store trace data. May only be used with the /trace parameter.
Examples:
powercfg /energy<br />
powercfg /energy /output "longtrace.html" /duration 120
Generates a report of battery usage characteristics over the lifetime of the system. Running powercfg /batteryreport generates an HTML report file in the current path.
Syntax:
powercfg /batteryreport [ /output file_name ] [ /xml ]
powercfg /batteryreport [ /duration days ]
Arguments:
/output file_name
Specify the path and file name to store the battery report HTML.
/output file_name /xml
Formats the battery report file as XML.
/duration days
Specifies the number of days to analyze for the report.
Examples:
powercfg /batteryreport /output "batteryreport.html"<br />
powercfg /batteryreport /duration 4
Generates a diagnostic report of modern standby quality over the last three days on the system. The report is a file that is saved in the current path.
Syntax:
powercfg /sleepstudy [ /output file_name ] [ /xml ]
powercfg /sleepstudy [ /duration days]
powercfg /sleepstudy [ /transformxmL file_name.xml ] [ /output file_name.html ]
Arguments:
/output file_name
Specify the path and file name to store the Sleepstudy report HTML.
/output file_name /xml
Formats the Sleepstudy report file as XML.
/duration days
Specifies the number of days to analyze for the report.
/transformxml file_name.xml /output file_name.html
Transforms the Sleepstudy report from XML to HTML.
Examples:
powercfg /sleepstudy /output "sleepstudy.html"<br />
powercfg /sleepstudy /duration 7
Enumerates the entire Energy Estimation data from the System Resource Usage Monitor (SRUM) in an XML or CSV file.
Syntax:
powercfg /srumutil [ /output file_name ] [ /xml ] [ /csv ]
Arguments:
/output file_name
Specify the path and file name to store the SRUM data.
/output file_name /xml
Formats the file as XML.
/output file_name /csv
Formats the file as CSV.
Examples:
powercfg /batteryreport /output "srumreport.xml" /xml
Generates a report of intervals when the user was not present over the last three days on the system, and if the system went to sleep. This option generates a report, an HTML file, in the current path.
This command requires administrator privileges and must be executed from an elevated command prompt.
Syntax:
powercfg /systemsleepdiagnostics [ /output file_name ] [ /xml ]
Arguments:
/output file_name
Specifies the path and file name of the diagnostics report.
/xml
Save the report as an XML file.
/duration days
Specifies the number of days to analyze for the report.
/transformxml file_name
Produces a report in HTML from a report that was previously created in XML.
Examples:
powercfg /systemsleepdiagnostics<br/>
powercfg /systemsleepdiagnostics /output "system-sleep-diagnostics.html"<br/>
powercfg /systemsleepdiagnostics /output "system-sleep-diagnostics.xml" /XML<br/>
powercfg /systemsleepdiagnostics /transformxml "system-sleep-diagnostics.xml"
Generates a report of system power transitions over the last three days on the system, including connected standby power efficiency. This option generates a report, an HTML file, in the current path.
This command requires administrator privileges and must be executed from an elevated command prompt.
Syntax:
powercfg /getsecuritydescriptor GUID | action
Arguments:
/output file_name
Specifies the path and file name of the diagnostics report.
/xml
Save the report as an XML file.
/duration days
Specifies the number of days to analyze for the report.
/transformxml file_name
Produces a report in HTML from a report that was previously created in XML.
Examples:
powercfg /systempowerreport<br/>
powercfg /systempowerreport /output "sleepstudy.html"<br/>
powercfg /systempowerreport /output "sleepstudy.xml" /XML<br/>
powercfg /systempowerreport /transformxml "sleepstudy.xml"
Overlay power schemes and PPM profiles can now be customized through powercfg.exe. It is important to note that overlay schemes are now limited to customizing settings that affect performance versus power savings tradeoff. This is currently related to settings under the PPM and Graphics power settings subgroups (with aliases SUB_PROCESSOR and SUB_GRAPHICS in powercfg). Attempts to write to other subgroups under overlay schemes will result in an error message.
The powercfg commands used earlier to read power schemes now support overlay schemes as well for reads and writes.
Syntax:
powercfg /q overlay_scheme_alias subgroup_alias setting_alias
All arguments after the /q flag are optional. If the setting alias is not specified, all settings under the specified overlay scheme and subgroup will be enumerated. If the subgroup is not specified, then all settings for all subgroups under the specified overlay scheme will be enumerated. If the overlay scheme is not specified, then it will be assumed to be the currently active overlay scheme (if active) or the current power scheme (if no overlay is active).
The commands setacvalueindex and setdcvalueindex now support overlay schemes as well.
Syntax:
powercfg /setacvalueindex overlay_scheme_alias subgroup_alias setting_alias value
powercfg /setdcvalueindex overlay_scheme_alias subgroup_alias setting_alias value
The commands are similar to that of overlay schemes and power schemes, except that they use the /qp flag.
Syntax:
powercfg /queryprofile overlay_or_power_scheme_alias profile_alias setting_alias
powercfg /qp overlay_or_power_scheme_alias profile_alias setting_alias
PPM profile aliases are visible by running the same powercfg /aliasesh command. Support for missing arguments is provided, and the behavior is similar to when arguments are missing and the /q flag is used.
For writing to PPM profiles, the /setacprofileindex and /setdcprofileindex commands can be used.
Syntax:
powercfg /setacprofileindex overlay_or_scheme_alias profile_alias setting_alias value
powercfg /setdcprofileindex overlay_or_scheme_alias profile_alias setting_alias value
For enumerating PPM profiles which have at least one power setting value explicitly set.
Syntax:
powercfg /listprofiles
powercfg /lp
Powercfg now supports automatically generating a provisioning XML file that can be used as an input to Windows Configuration Designer in order to generate a provisioning package (.ppkg) that contains the customized settings from a device under test. This file contains all settings on the device with the "RUNTIME_OVERRIDE" altitude value.
Syntax:
powercfg /pxml /output output_file_path
powercfg /pxml /output output_file_path /version version_number /name package_name /id GUID /owner OwnerType_value
Required Arguments:
/output_file_path: Specifies the location and name of the generated XML.
Optional Arguments:
/version: Optionally specifies the value of the "Version" field in the generated XML. Default: 1.0
/name: Optionally specifies the value of the "Name" field in the generated XML. Default: CustomOEM.Power.Settings.Control
/id: Optionally specifies a GUID string that is used in the "ID" field in the generated XML. Default: new GUID is generated
/owner: Optionally specified the value of the "OwnerType" field in the generated XML. Default: OEM
Training
Module
Explore common configuration options - Training
This module discusses configuring and customizing some of the common default settings in Windows clients.