2009-07-02 40 views
1

私はオフィスレジストリをバックアップし、Pythonを使用してターゲットマシンに復元することで、あるシステムから別のシステムにMicrosoft Officeの設定を移行しようとしています。保存することはできますが、既存のオフィス設定を上書きする宛先マシンの既存の設定、私はエラーが発生しています。 これは、復元するためのコードである: - :[errnoに5]アクセスが拒否されました "office.registryは" 私はWindowsError取得していますバックアップハイブます。HKEY_CURRENT_USER \ Software \ Microsoft \ Officeのファイルからレジストリを復元する

あり、ここで

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" 

私は、レジストリのシステムは、テキストを.regファイルを作成し、インポートしてレジストリキーを更新するための組み込みメソッドを持っている私のミス

+0

どのラインで、まったく例外が発生していますか? –

+0

レジストリに書き込む権限がありますか?レジストリを手で編集することはできますか? –

+0

result = _winreg.LoadKey(_winreg.HKEY_CURRENT_USER、r "Software \ Microsoft \ Office"、ur "Office.registry") この行にあります。 –

答えて

1

を識別するのに役立ちます。 .regファイルに変更を書き込んでインポートすることをお勧めします。

また、使用しているWindowsのバージョンについては言及していません。新しいバージョンでは、権限システムはこれまでよりもかなり複雑です。

関連する問題