powercfg (executable name powercfg.exe) is a command-line utility that is used from an elevated Windows Command Prompt to control all configurable power system settings, including hardware-specific configurations that are not configurable through the Control Panel, on a per-user basis. It was first introduced by Microsoft in Windows XP SP2 in 2004.[1][2]

powercfg
Developer(s)Microsoft
Initial release2004; 20 years ago (2004)
Operating systemMicrosoft Windows
TypeCommand
LicenseProprietary commercial software
Websitedocs.microsoft.com/en-us/windows-hardware/design/device-experiences/powercfg-command-line-options

Usage

edit

powercfg must be run from an elevated command prompt, and, under Windows XP, it requires workstation Administrator or power user rights. Power Schemes are configured on a per-user basis. The most common cause of problems with power saving and hibernation on Windows systems is an incompatible device driver. This can be diagnosed by disabling each device in turn (with powercfg /devicedisablewake). When activating power saving across a local area network, it is important to ensure that software updates, security patches and antivirus updates in particular, are not disrupted. Microsoft recommends that its Windows Server Update Services be configured to install updates when workstations are available and Windows Task Scheduler can be set to wake the machine when needed.

Syntax

edit
XP
POWERCFG [/LIST | /QUERY [name] | /CREATE name | /DELETE name | /SETACTIVE name | /CHANGE name settings | /HIBERNATE {ON|OFF} | /NUMERICAL int | /EXPORT name [/FILE filename] | /IMPORT name [/FILE filename] | /GLOBALPOWERFLAG {ON|OFF} /OPTION flag | /BATTERYALARM {LOW|CRITICAL} [settings] | /DEVICEQUERY flagquery | /DEVICEENABLEWAKE devicename | /DEVICEDISABLEWAKE devicename | /?]
Vista, Server 2008, 7
powercfg [/l[ist]] [/q[uery] [Scheme_GUID] [Sub_GUID]] ] [/x setting value] [/changename GUID name [scheme_description]] [/duplicatescheme GUID [DestinationGUID]] [/d[elete] GUID] [/deletesetting Sub_GUID Setting_GUID] [/s[etactive] Scheme_GUID] [/getactivescheme] [/setacvalueindex Scheme_GUID Sub_GUID Setting_GUID SettingIndex] [/setdcvalueindex Scheme_GUID Sub_GUID Setting_GUID SettingIndex] [/h[ibernate] [on|off]] [/a[vailablesleepstates]] [/devicequery query_flags] [/deviceenablewake devicename] [/devicedisablewake devicename] [/import filename [GUID]] [/export filename [GUID]] [/lastwake] [/aliases] [/setsecuritydescriptor [GUID|Action] SDDL] [/getsecuritydescriptor [GUID|Action]] [/requests] [/requestsoverride Caller_type Name Request] [/energy [/output filename] [/xml] [/duration seconds] [/trace [/d filepath]] [/waketimers] [/?]

Parameters

edit
Parameter Description OS
XP Other
/l[ist] Lists all power schemes in the current user's environment. Yes Yes
/q[uery] [scheme_name] (XP)
/q[uery] [Scheme_GUID] [Sub_GUID]
Displays the contents of the specified power scheme.
scheme_name
SCHEME_GUID
(Optional) Specifies the scheme_name/GUID of the power scheme to display. GUID can be obtained by using the powercfg /l command.
SUB_GUID (Optional) Specifies the GUID of the subgroup to display. Requires a SCHEME_GUID to be provided.
If neither SCHEME_GUID or SUB_GUID are provided, the settings of the current user's active power scheme are displayed.
If SUB_GUID is not specified, all settings in the specified power scheme are displayed.
Yes Yes
/c[reate] scheme_name Creates a power scheme with the specified scheme_name. Yes No
/change setting value
/x setting value
Modifies a setting value in the current power scheme.
setting Specifies one of the following settings:
monitor-timeout-ac minutes
monitor-timeout-dc minutes
disk-timeout-ac minutes
disk-timeout-dc minutes
standby-timeout-ac minutes
standby-timeout-dc minutes
hibernate-timeout-ac minutes
hibernate-timeout-dc minutes
processor-throttle-ac throttle
processor-throttle-dc throttle
value Specifies the value in minutes.
  • AC settings are used when the system is on AC power. DC settings on battery power.
  • Setting any value to 0 will set the timeout=Never
  • throttle = NONE, CONSTANT, DEGRADE, or ADAPTIVE.
Yes Yes
/changename GUID PowerSchemeName [scheme_description] Modifies the name of a power scheme and, optionally, the scheme description.
Value Description
GUID Specifies the GUID of the power scheme
name Specifies the name of the power scheme.
scheme_description Describes the power scheme.
If the description is omitted, then only the name will be changed.
No Yes
/duplicatescheme GUID [DestinationGUID] Duplicates the specified power scheme. The resulting GUID which represents the new scheme will be displayed.
Value Description
GUID Specifies a scheme GUID. Obtained by using the powercfg /l command.
DestinationGUID Specifies the GUID where the scheme will be copied.
If <DestinationGUID> is omitted, then a new GUID will be created for the duplicated scheme.
No Yes
/d[elete] scheme_name
/d[elete] GUID
Deletes the power scheme with the specified GUID.
scheme_name
GUID
Specifies the scheme_name/GUID of the scheme. GUID can be obtained by using the powercfg /l command.
Yes Yes
/deletesetting Sub_GUID Setting_GUID Deletes a power setting.
Value Description
Sub_GUID Specifies the subgroup GUID.
Setting_GUID Specifies the power setting GUID.
No Yes
/s[etactive] scheme_name
-s[etactive] Scheme_GUID
Makes the specified power scheme active on the computer.
scheme_name
Scheme_GUID
Specifies the scheme GUID.
Yes Yes
/getactivescheme Retrieves the currently active power scheme. No Yes
/setacvalueindex Scheme_GUID Sub_GUID Setting_GUID SettingIndex Sets a value associated with a specified power setting while the computer is powered by AC power.
Value Description
Scheme_GUID Specifies a power scheme GUID. Obtained by using the powercfg /l command.
Sub_GUID Specifies a subgroup of power setting GUID. Obtained by using the powercfg /q command.
Setting_GUID Specifies an individual power setting GUID. Obtained by using the powercfg /q command.
SettingIndex Specifies which of the list of possible values this power setting will be set to.
Use the /l and /q options to discover the GUIDs
No Yes
/setdcvalueindex Scheme_GUID Sub_GUID Setting_GUID SettingIndex Sets a value associated with a specified power setting while the computer is powered by DC power.
Value Description
Scheme_GUID Specifies a power scheme GUID. Obtained by using the powercfg /l command.
Sub_GUID Specifies a subgroup of power setting GUID. Obtained by using the powercfg /q command.
Setting_GUID Specifies an individual power settingGUID. Obtained by using the powercfg /q command.
SettingIndex Specifies which of the list of possible values this power setting will be set to.
No Yes
/h[ibernate] [on|off] Enables or disables the hibernate feature. Hibernate timeout is not supported on all computers. Yes Yes
/n[umerical] Specify the power scheme to be operated upon with a numerical identifier.
This switch allows a number to be used in place of the scheme_name in the following commands: /QUERY, /DELETE, /SETACTIVE, /CHANGE, /EXPORT, and /IMPORT
Yes No
/g[lobalpowerflag] [on|off]] Turn one of the following global power flags on or off:
BatteryIcon Turn the battery meter icon in the system tray on/off.
MultiBattery Turns on/off multiple battery display in system Power Meter.
ResumePassword Prompt for password on resuming the system.
WakeOnRing Turn on/off wake on ring support.
VideoDim Turn on/off support for dimming video display on battery power.
Yes No
/b[atteryalarm] [low|critical] [settings] Configure the battery alarm.
Settings:
/activate [on|off] Enable or disable the alarm.
/level [percentage (0100)] The alarm will be activated when the power level reaches this percentage.
/text [on|off] Turns the text notification on or off.
/sound [on|off] Turns the audible notification on or off.
/action [none|shutdown|hibernate|standby] Specifies the action to take when this alarm goes off. Not all actions are always available.
/forceaction [on|off] Force stand by or shutdown even if a program stops responding.
/program [on|off] Specifies a program to run. schtasks.exe /change may be used to configure the program.
Yes No
/a[vailablesleepstates] Reports the sleep states available on the computer. Attempts to report reasons why sleep states are unavailable. Yes Yes
/devicequery [query_flags]] Returns a list of devices that meet the specified flags:
wake_from_S1_supported Returns all devices that support waking the computer from a light sleep state.
wake_from_S2_supported Returns all devices that support waking the computer from a deeper sleep state.
wake_from_S3_supported Returns all devices that support waking the computer from the deepest sleep state.
wake_from_any Returns all devices that support waking the computer 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 Lists devices supporting hibernation.
wake_programmable Lists devices that are user/configurable to wake the computer from a sleep state.
wake_armed Lists devices that are currently configured to wake the computer from any sleep state.
all_devices Returns all devices present in the computer.
all_devices_verbose Returns a verbose list of devices.
Yes Yes
/deviceenablewake devicename Enables the device to wake the computer from a sleep state.
devicename Specifies a device retrieved by using the powercfg /devicequery wake_programmable command.
Yes Yes
/devicedisablewake <devicename> Disables the device from waking the computer from a sleep state.
devicename Specifies a device retrieved by using the powercfg /devicequery wake_armed command.
Yes Yes
/import scheme_name [/FILE filename]
-import filename [GUID]
Imports all power settings from the specified file.
filename Specifies a fully qualified path to a file generated by using the powercfg /export command-line option.
GUID (optional) Represents the settings loaded into a power scheme. If not supplied, powercfg will generate and use a new GUID
Yes Yes
/export scheme_name [/FILE filename]
-export filename [GUID]
Exports a power scheme, represented by the specified GUID, to the specified file.
filename Specifies a fully qualified path to a destination file.
GUID Specifies a power scheme GUID. Obtained by using the /l command-line option.
Yes Yes
/lastwake Reports information about the event that woke the computer from the last sleep transition. No Yes
/aliases Displays all aliases and their corresponding GUIDs. The user may use these aliases in place of any GUID at the command prompt No Yes
/setsecruitydescriptor [GUID|Action] SDDL Sets a security descriptor associated with a specified power setting, power scheme, or action.
GUID Specifies a power scheme or a power setting GUID.
Action Specifies one of the following strings: ActionSetActive, ActionCreate, ActionDefault
SDDL Specifies a valid security descriptor string in SDD format. Use powercfg /getsecuritydescriptor to see an example SDDL STRING.
No Yes
/getsecuritydescriptor [GUID|<Action>] Gets a security descriptor associated with a specified power setting, power scheme, or action.
GUID Specifies a power scheme or a power setting GUID.
<Action> Specifies one of the following strings: ActionSetActive, ActionCreate, ActionDefault
No Yes
/requests Enumerate application and driver Power Requests. Power requests prevent the computer from automatically powering off the display or entering a low-power sleep mode. No Yes
/requestsoverride Caller_type Name Request 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. NOTE: No documentation exists to remove a request override entry once entered, however leaving off the request type will do so. powercfg -requestsoverride Caller_type Name (Request left blank to remove entry)
Value Description
Caller_type Specifies one of the following caller types: PROCESS, SERVICE, DRIVER. This is obtained by calling the powercfg /requests command.
Name Specifies the caller name. This is the name returned from calling powercfg /requests command.
Request Specifies one or more of the following Power Request Types: Display, System, Awaymode *Leave blank to remove an entry.
No Yes
/energy Analyzes the system for common energy-efficiency and battery life problems. The /energy command should be used when the computer is idle and with no open programs or documents. The /energy command will generate an HTML report file in the current path. Windows 7 and certain Windows 10 Insider builds only.
Value Description
/output filename Specifies the path and filename to store the energy report HTML file (default="energy-report.html").
/xml Formats the report file as XML.
/trace Records system behavior and does not perform analysis. Trace files will be generated in the current path unless the /d parameter is specified.
/d filepath Specifies the directory to store trace data. May only be used with the /trace parameter.
/duration <seconds> Specifies the number of seconds to observe system behavior. Default is 60 seconds
No 7 only
/waketimers Enumerates the active wake timers. If enabled, the expiration of a wake timer wakes the system from sleep and hibernate states. No Yes
/help
/?
Displays Help at the command prompt. Yes Yes
Power scheme GUIDs

The use of GUIDs avoids any problems with internationalisation when applying Power Saving to non-English versions of Windows. The three built-in power schemes have the aliases listed below, which can be used instead of the GUIDs:

  • SCHEME_MAX = Power saver (Max power saving)
  • SCHEME_BALANCED = Balanced (Typical)
  • SCHEME_MIN = High performance (Min power saving)

The other GUIDs have aliases as well.

Examples

edit

Lists all power schemes

powercfg /l

List all Aliases

powercfg -aliases

Retrieve the currently active power scheme

powercfg -getactivescheme

Set the Monitor and disc timeouts for the current Power saver scheme

powercfg -Change -monitor-timeout-ac 20
powercfg -Change -disk-timeout-ac 30

Enable the mouse to wake from sleep

powercfg -deviceEnableWake "Microsoft USB IntelliMouse Explorer"

Set the 'Power saver' scheme

powercfg -SETACTIVE SCHEME_MAX

Create a Custom Power scheme and set it as active

Set _Custom_Power=B1234567-SS64-SS64-SS64-F00000111AAA
powercfg -DUPLICATESCHEME SCHEME_MAX %_Custom_Power%
powercfg -CHANGENAME %_Custom_Power% "SS64 Power Scheme "
powercfg -SETACTIVE %_Custom_Power%

Disable the sleep button (for the users current power scheme)

For /f "tokens=2 delims=:(" %%G in ('powercfg -getActiveScheme') do (
  powercfg -setAcValueIndex %%G sub_buttons sButtonAction 0
  powercfg -setActive %%G
)

Disable the sleep button (for all available power schemes)

For /f "skip=2 tokens=2,4 delims=:()" %%G in ('powercfg -list') do (
  powercfg -setAcValueIndex %%G sub_buttons sButtonAction 0
  if "%%H" == " *" powercfg -setActive %%G
)

See also

edit

References

edit
  1. ^ "PowerCFG (Windows XP SP2/2003)". SS64.com. Archived from the original on 2017-03-04.
  2. ^ "PowerCFG (Vista/Windows7/Server 2008)". SS64.com.

Further reading

edit
edit