[英]How to create sub key in windows Registry Using Python winreg module?
[英]Setting Windows XP registry key permissions using Python
我的一位客戶使用了他們注冊表的一部分。 由於某些原因,HKEY_CLASSES_ROOT下的一堆子鍵沒有設置權限。 因此,我正在瀏覽按鍵並手動設置按鍵,例如:
可能需要設置成千上萬個密鑰,每個密鑰需要完成10到12步。 所以我想通過Python自動化該過程。 是否有一個模塊可以完成這兩項工作?
謝謝!
經過幾乎一整天的研究,我使用Windows注冊表和權限的解決方案是使用SetACL 。 您可以使用COM對象,也可以使用二進制文件和子進程模塊。 這是我在混合環境中修改權限時使用的代碼片段(我有約50台32位和64位Windows計算機,Windows 7和Windows XP pro ...):
from subprocess import Popen, PIPE
def Is64Windows():
'''check if win64 bit'''
return 'PROGRAMFILES(X86)' in os.environ
def ModifyPermissions():
"""do the actual key permission change using SetACL"""
permissionCommand = r'SetACL.exe -on "HKLM\Software\MPICH\SMPD"'\
+' -ot reg -actn ace -ace "n:Users;p:full"'
permissionsOut = Popen(permissionCommand, stdout = PIPE, stderr = PIPE)
pout, perr = permissionsOut.communicate()
if pout:
print pout
sys.exit(0)
elif perr:
print perr
sys.exit(1)
def main():
... some code snipped ...
os.chdir('SetACL')
if Is64Windows():
os.chdir('x64')
ModifyPermissions()
else:
os.chdir('x86')
ModifyPermissions()
因此,它並不是真正的純Python,但它可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.