fname='h:\\tmp.reg'importwin32api,win32con,win32security,ntsecuritycon,pywintypes,os## regsave will not overwrite a fileifos.path.isfile(fname):os.remove(fname)new_privs=((win32security.LookupPrivilegeValue('',ntsecuritycon.SE_SECURITY_NAME),win32con.SE_PRIVILEGE_ENABLED),(win32security.LookupPrivilegeValue('',ntsecuritycon.SE_TCB_NAME),win32con.SE_PRIVILEGE_ENABLED),(win32security.LookupPrivilegeValue('',ntsecuritycon.SE_BACKUP_NAME),win32con.SE_PRIVILEGE_ENABLED),(win32security.LookupPrivilegeValue('',ntsecuritycon.SE_RESTORE_NAME),win32con.SE_PRIVILEGE_ENABLED))ph=win32api.GetCurrentProcess()th=win32security.OpenProcessToken(ph,win32security.TOKEN_ALL_ACCESS|win32con.TOKEN_ADJUST_PRIVILEGES)win32security.AdjustTokenPrivileges(th,0,new_privs)my_sid=win32security.GetTokenInformation(th,ntsecuritycon.TokenUser)[0]hklm=win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,None,0,win32con.KEY_ALL_ACCESS)skey=win32api.RegOpenKey(hklm,'SYSTEM',0,win32con.KEY_ALL_ACCESS)sa=pywintypes.SECURITY_ATTRIBUTES()sd=pywintypes.SECURITY_DESCRIPTOR()sa.SECURITY_DESCRIPTOR=sdacl=pywintypes.ACL()pwr_sid=win32security.LookupAccountName('','Power Users')[0]acl.AddAccessAllowedAce(win32con.ACL_REVISION,win32con.GENERIC_READ|win32con.ACCESS_SYSTEM_SECURITY,my_sid)sd.SetSecurityDescriptorDacl(1,acl,0)sd.SetSecurityDescriptorOwner(pwr_sid,0)sa.bInheritHandle=1assertsa.SECURITY_DESCRIPTORissdwin32api.RegSaveKey(skey,fname,sa)