我正在尝试将Microsoft Office办公室设置从一个系统迁移到其他系统,方法是备份Office注册表并使用Python在目标计算机上恢复它。我可以执行保存部分,但是尝试恢复现有设置目标机器覆盖现有的办公室设置,我收到一个错误。 这是恢复的代码: -
import os, sys
import _winreg
import win32api
import win32con
import win32security
priv_flags = win32security.TOKEN_ADJUST_PRIVILEGES | win32security.TOKEN_QUERY
hToken = win32security.OpenProcessToken (win32api.GetCurrentProcess (), priv_flags)
backup_privilege_id = win32security.LookupPrivilegeValue (None, "SeBackupPrivilege")
restore_privilege_id = win32security.LookupPrivilegeValue (None, "SeRestorePrivilege")
win32security.AdjustTokenPrivileges (
hToken, 0, [
(backup_privilege_id, win32security.SE_PRIVILEGE_ENABLED),
(restore_privilege_id, win32security.SE_PRIVILEGE_ENABLED)
]
)
result = _winreg.LoadKey (_winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Office",ur"Office.registry")
print "Restored Office Settings"
这里“office.registry”是备份的配置单元HKEY_CURRENT_USER \ Software \ Microsoft \ Office
我收到WindowsError:[Errno 5]访问被拒绝。
请帮我识别我的错误
答案 0 :(得分:1)
注册表系统具有通过创建和导入.reg文本文件来更新注册表项的内置方法。我建议您尝试将更改写入.reg文件并导入。
此外,您没有提到您正在使用的Windows版本。在较新的版本中,权限系统比过去复杂得多。