Hellbovine

Well-Known Member
In the registry under the power plans, the "Attributes"=dword:00000001 will hide a setting from appearing inside the control panel power options in the advanced settings page, but I cannot find official documentation on the values, and this could matter for the reasons listed below.

1) According to various websites, a value of 2 makes the setting visible in the control panel and I can confirm that this works, but so does a value of 0, which leads us to the next part.

2) If you use Microsoft's powercfg utility from within Windows, it doesn't use a value of 2! Instead, any time you make something visible it just changes the value to 0. This is confusing, because it seems to be further contradictory to the next thing.

3) On an unmodified Windows you will only see attributes with values of 1 or 2 and no other values used at all.

So the question is, which is more official, 0 or 2, and does it matter somehow? Based on this information I would have to say that powercfg is bugged, and they meant to put a value of 2 instead of 0, and coincidentally still works because a value of 0 innately works because 0 and 1 mean true and false in computers. In other words, a fallback scenario keeps powercfg from visibly being bugged.

Does anyone have any sources that can shed insight into if there is a bug here, or what a value of 0 versus 2 means? There's a handful of people on the internet that claim a value of 2 allows all sub-trees settings to be enabled too, but that's just not how the power plan registry trees work, so as far as I can see that part is just misinformation which casts more doubt on the whole issue.
 
Last edited:
Here's a PS script to duplicate powercfg's output for a subset of keys, while reporting on Attributes (if present).
Changes were tested by running powercfg -attributes SUB_BATTERY 637ea02f-bbcb-4015-8e2c-a1c7b9c0b546 +/-ATTRIB_HIDE

Windows 7 default:
Subgroup GUID: e73a048d-bf27-4f12-9731-8b2076e8891f (Battery settings)
Power Setting GUID: 637ea02f-bbcb-4015-8e2c-a1c7b9c0b546 (First Low Battery Alarm Action)
Power Setting GUID: 8183ba9a-e910-48da-8769-14ae6dc1170a (Low Battery Warning Trip Point)
Power Setting GUID: 9a66d8d7-4ff7-4ef9-b5a2-5a326ca2a469 (First power trip point)

default (undefined), hide -> 1, unhide -> 0

Windows 8.1 default:
Subgroup GUID: e73a048d-bf27-4f12-9731-8b2076e8891f (Battery settings)
Power Setting GUID: 1e133d45-a325-48da-8769-14ae6dc1170b (CS Battery Saver Trip Point) = 1
Power Setting GUID: 637ea02f-bbcb-4015-8e2c-a1c7b9c0b546 (First Low Battery Alarm Action) = 2
Power Setting GUID: 7398e821-3937-4469-b07b-33eb785aaca1 (CS Battery Saver Timeout) = 1

default (2), hide -> 1, unhide -> 0

Win 10 20H2 default:
Subgroup GUID: e73a048d-bf27-4f12-9731-8b2076e8891f (Battery settings)
Power Setting GUID: 5dbb7c9f-38e9-40d2-9749-4f8a0e9f640f (Critical battery notification) = 2
Power Setting GUID: 637ea02f-bbcb-4015-8e2c-a1c7b9c0b546 (First Low Battery Alarm Action) = 2
Power Setting GUID: 8183ba9a-e910-48da-8769-14ae6dc1170a (Low Battery Warning Trip Point) = 2

default (2), hide -> 1, unhide -> 0

Win 10 21H2 default:
Subgroup GUID: e73a048d-bf27-4f12-9731-8b2076e8891f (Battery settings)
Power Setting GUID: 5dbb7c9f-38e9-40d2-9749-4f8a0e9f640f (Critical battery notification) = 2
Power Setting GUID: 637ea02f-bbcb-4015-8e2c-a1c7b9c0b546 (First Low Battery Alarm Action) = 2
Power Setting GUID: 8183ba9a-e910-48da-8769-14ae6dc1170a (Low Battery Warning Trip Point) = 2

default (2), hide -> 1, unhide -> 0

Win 11 default:
Subgroup GUID: e73a048d-bf27-4f12-9731-8b2076e8891f (Battery)
Power Setting GUID: 5dbb7c9f-38e9-40d2-9749-4f8a0e9f640f (Critical battery notification) = 2
Power Setting GUID: 637ea02f-bbcb-4015-8e2c-a1c7b9c0b546 (Critical battery action) = 2
Power Setting GUID: 8183ba9a-e910-48da-8769-14ae6dc1170a (Low battery level) = 2

default (2), hide -> 1, unhide -> 0

None of this is documented; my guess it's for compatibility when importing W7/8 power plans. I don't have copies of 1809 or 1904 to check their default values.

If you want to play with sub-trees, remove the "| Where-Object -match [regex]" from my script to list everything.
 

Attachments

  • powercfg-Get-Attrib.zip
    659 bytes
Back
Top