How to change Power options through registry or through command line?

The powercfg settings aren't too difficult to understand. Here's my display sleep settings;

  Subgroup GUID: 7516b95f-f776-4464-8c53-06167f40cc99  (Display)
    GUID Alias: SUB_VIDEO
    Power Setting GUID: 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e  (Turn off display after)
      GUID Alias: VIDEOIDLE
      Minimum Possible Setting: 0x00000000
      Maximum Possible Setting: 0xffffffff
      Possible Settings increment: 0x00000001
      Possible Settings units: Seconds
    Current AC Power Setting Index: 0x00000384
    Current DC Power Setting Index: 0x00000384

The first few lines contain the unique identifier for the setting.

  • The ID for the display group (beginning with 751)
  • The ID for the "Turn off display" setting (beginning with 3c0)
  • The maximum and minimum allowed values for this setting showing between the value 0 and ffffffff.
  • The resolution for the setting, in this case increments of 1.
  • The unit this value is measuring, this case Seconds.
  • The current AC and DC settings are both set to 0x384, which in decimal is 900 seconds, or 15 minutes.

We can set the AC (or DC) values with the /SETACVALUEINDEX ( or /SETDCVALUEINDEX)

  • first we specify the power setting scheme (by GUID) which was listed using the /l in your case, the active settings are the high performance settings, which has a GUID of: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
  • Then we specify the Subgroup GUID, In my case for the display settings GUID is: 7516b95f-f776-4464-8c53-06167f40cc99
  • Followed by the settings GUID: 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e
  • Then the new value we want, this can be decimal (or hex with a preceding 0x)

This is the command you'd run to change the AC display sleep settings;

powercfg /SETACVALUEINDEX fb5220ff-7e1a-47aa-9a42-50ffbf45c673 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 600

This is using the GUIDs from my machine, setting the sleep timeout to 10 minutes (600 seconds)

You could also use the GUID Aliases as listed with the /q command;

  • SUB_VIDEO is alias for 7516b95f-f776-4464-8c53-06167f40cc99
  • VIDEOIDLE is alias for 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e

I assume that these alias names are the same across machines. The Power scheme doesn't have an alias. So the command would be;

powercfg /SETACVALUEINDEX fb5220ff-7e1a-47aa-9a42-50ffbf45c673 SUB_VIDEO VIDEOIDLE 600