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.

List of 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.

Descriptions of command-line options

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


-help or /?

Displays information about command-line parameters.

Syntax:

powercfg  /?

Return to the top.


/list or /L

Lists all power schemes.

Syntax:

powercfg  /list

Return to the top.


/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

Return to the top.


/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

Return to the top.


/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"

Return to the top.


/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

Return to the top.


/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

Return to the top.


/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

Return to the top.


/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

Return to the top.


/getactivescheme

Retrieves the currently active power scheme.

Syntax:

powercfg  /getactivescheme

Return to the top.


/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

Return to the top.


/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

Return to the top.


/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

Return to the top.


/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

Return to the top.


/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.

Return to the top.


/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
powercfg /getsecuritydescriptor ActionSetActive

Return to the top.


/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)

powercfg /setsecuritydescriptor ActionSetActive O:BAG:SYD:P(A;CI;KR;;;BU)(A;CI;KA;;;BA)(A;CI;KA;;;SY)(A;CI;KA;;;CO)

Return to the top.


/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
powercfg /hibernate /size 100
powercfg /hibernate /type reduced

Return to the top.


/availablesleepstates or /A

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

Syntax:

powercfg  /availablesleepstates

Return to the top.


/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

Return to the top.


/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 "Microsoft USB IntelliMouse Optical"

Return to the top.


/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 "Microsoft USB IntelliMouse Optical"

Return to the top.


/lastwake

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

Syntax:

powercfg  /lastwake

Return to the top.


/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

Return to the top.


/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

Return to the top.


/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

Return to the top.


/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
powercfg /energy /output "longtrace.html" /duration 120

Return to the top.


/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 "batteryreport.html"
powercfg /batteryreport /duration 4

Return to the top.


/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 "sleepstudy.html"
powercfg /sleepstudy /duration 7

Return to the top.


/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 "srumreport.xml" /xml

Return to the top.


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

Return to the top.


/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
powercfg /systempowerreport /output "sleepstudy.html"
powercfg /systempowerreport /output "sleepstudy.xml" /XML
powercfg /systempowerreport /transformxml "sleepstudy.xml"

Return to the top.