Power Settings

Allow Users to Change Power Settings

One of the most annoying things about Windows XP (and maybe later) is that users have to be in the admin group to change the power profile on their PC. This changes that!

This gives end users the exact rights they need to change power settings and no more.

This package relies on the SetACL tool and the powercfg tool which is available in Windows XP SP2 onwards.

Many thanks to the folks here and here.

<?xml version="1.0" encoding="UTF-8"?>

<packages>
  <package
    id='powerconfig'
    name='Allow Users to Change Power Settings'
    revision='1'
    priority='800'
	reboot='false'>
	
	<check type="registry" condition="equals" path="HKLM\Software\xxxxx\wpkg\powerconfig" value="1"/>
	
	<install cmd='"%SOFTWARE%\system\setacl.exe" -on "HKLM\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Controls Folder\PowerCfg\GlobalPowerPolicy" -ot reg -actn ace -ace "n:users;p:set_val,create_subkey"' />
	<install cmd='"%SOFTWARE%\system\setacl.exe" -on "HKLM\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies" -ot reg -actn ace -ace "n:users;p:set_val,create_subkey"' />
	<install cmd='"%SOFTWARE%\system\powercfg.exe" /setactive "Always On"' />
	<install cmd='REG ADD HKLM\SOFTWARE\xxxxx\wpkg\ /v "powerconfig" /d "1" /t REG_DWORD /f' />
	
	<upgrade cmd='"%SOFTWARE%\system\setacl.exe" -on "HKLM\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Controls Folder\PowerCfg\GlobalPowerPolicy" -ot reg -actn ace -ace "n:users;p:set_val,create_subkey"' />
	<upgrade cmd='"%SOFTWARE%\system\setacl.exe" -on "HKLM\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies" -ot reg -actn ace -ace "n:users;p:set_val,create_subkey"' />
	<upgrade cmd='"%SOFTWARE%\system\powercfg.exe" /setactive "Always On"' />
	<upgrade cmd='REG ADD HKLM\SOFTWARE\xxxxx\wpkg\ /v "powerconfig" /d "1" /t REG_DWORD /f' />

        <remove cmd='"%SOFTWARE%\system\setacl.exe" -on "HKLM\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Controls Folder\PowerCfg\GlobalPowerPolicy" -ot reg -actn ace -ace "n:users;p:set_val,create_subkey;m:revoke"' />
	<remove cmd='"%SOFTWARE%\system\setacl.exe" -on "HKLM\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies" -ot reg -actn ace -ace "n:users;p:set_val,create_subkey;m:revoke"' />
        <remove cmd='REG DELETE HKLM\SOFTWARE\xxxxx\wpkg\ /v "powerconfig" /f' />
  </package>
</packages>