Powercfg command-line options

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.

Syntax

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.

Command-line options

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.

Command-line option descriptions

The following sections describe Powercfg command-line options and arguments.

-help or /?

Displays information about command-line parameters.

Syntax:

powercfg /?

/list or /L

Lists all power schemes.

Syntax:

powercfg /list

/query or /Q

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

/change or /X

Modifies a setting value in the current power scheme.

Syntax:

 /change setting value

Arguments:

setting

  Specifies one of the following options:

  • monitor-timeout-ac
  • monitor-timeout-dc
  • disk-timeout-ac
  • disk-timeout-dc
  • standby-timeout-ac
  • standby-timeout-dc
  • hibernate-timeout-ac
  • hibernate-timeout-dc

value

  Specifies the new value, in minutes.

Examples:

powercfg /change monitor-timeout-ac 5

/changename

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"

/duplicatescheme

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

/delete or /D

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

/deletesetting

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

/setactive or /S

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

/getactivescheme

Retrieves the currently active power scheme.

Syntax:

 powercfg /getactivescheme

/setacvalueindex

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

/setdcvalueindex

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

/import

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

/export

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

/aliases

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.

/getsecuritydescriptor

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:

  • ActionSetActive
  • ActionCreate
  • ActionDefault

Examples:

powercfg /getsecuritydescriptor 381b4222-f694-41f0-9685-ff5bb260df2e<br />
powercfg /getsecuritydescriptor ActionSetActive

/setsecuritydescriptor

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:

  • ActionSetActive
  • ActionCreate
  • ActionDefault

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)

/hibernate or /H

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

/availablesleepstates or /A

Reports the sleep states available on the system. Attempts to report reasons why sleep states are unavailable.

Syntax:

 powercfg /availablesleepstates

/devicequery

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

/deviceenableawake

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 &quot;Microsoft USB IntelliMouse Optical&quot;

/devicedisablewake

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 &quot;Microsoft USB IntelliMouse Optical&quot;

/lastwake

Reports information about what woke the system from the last sleep transition.

Syntax:

 powercfg /lastwake

/waketimers

Enumerates the active wake timers. If enabled, the expiration of a wake timer wakes the system from sleep and hibernate states.

Syntax:

 powercfg /waketimers

/requests

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

/requestsoverride

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:

  • Display
  • System
  • Awaymode

Examples:

powercfg /requestsoverride process wmplayer.exe display system

/energy

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 &quot;longtrace.html&quot; /duration 120

/batteryreport

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 &quot;batteryreport.html&quot;<br />
powercfg /batteryreport /duration 4

/sleepstudy

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 &quot;sleepstudy.html&quot;<br />
powercfg /sleepstudy /duration 7

/srumutil

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 &quot;srumreport.xml&quot; /xml

/systemsleepdiagnostics

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 &quot;system-sleep-diagnostics.html&quot;<br/>
powercfg /systemsleepdiagnostics /output &quot;system-sleep-diagnostics.xml&quot; /XML<br/>
powercfg /systemsleepdiagnostics /transformxml &quot;system-sleep-diagnostics.xml&quot;

/systempowerreport or /spr

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 &quot;sleepstudy.html&quot;<br/>
powercfg /systempowerreport /output &quot;sleepstudy.xml&quot; /XML<br/>
powercfg /systempowerreport /transformxml &quot;sleepstudy.xml&quot;