Rodney McBride wrote:
>I am getting an access denied error when calling _winreg.SaveKey and I
> believe that the error is being caused by not having the SeBackupPrivilege
> set when calling the _winreg.SaveKey method for a remote host (I am
> attempting to export a registry key from a remote host to a file for backup
> purposes). My question is how do I set the 'SeBackupPrivilege'?
> 
> Here's a copy of my source code:
> 
> ##################################
> import os, string, sys, win32con, _winreg
> 
> def createFolder(path):
>    if os.path.exists (path):
>        pass    # do nothing
>    else:
>        os.mkdir(path)
> 
> def remoteSaveKey(host, subkey, file):
>    rhostreg = _winreg.ConnectRegistry(host, _winreg.HKEY_LOCAL_MACHINE)
>    remotekey = _winreg.OpenKey(rhostreg, subkey, 0, _winreg.KEY_ALL_ACCESS)
> 
>    _winreg.SaveKey(remotekey, file)
> 
> destsrvr = "\\\\server1\\backup$\\"
> # Registry key (and all subkeys) to be processed for backup/restore
> regpath = "Software\\Cisco Systems, Inc."
> 
> # Open hostfile and read hostnames into a list
> readfile = open('d:\scripts\dev\SideAsrv.txt', 'r')
> hostfile = []
> for host in readfile:
>    hostfile += [host.strip()]
> 
> readfile.close ()
> 
> for srvname in hostfile:
>    outputpath = destsrvr + srvname
>    createFolder(outputpath)
>    outputfile = outputpath + "\\" + srvname
>    srvname = "\\\\" + srvname
>    # Call the function to connect to and export the remote registry key
>    output = remoteSaveKey(srvname, regpath, outputfile)
>    # DEBUG
>    print outputfile
>    # Select the next host
> #####################
> 

If the account that you're running under doesn't possess SeBackupPrivilege,
you can use win32security.LsaAddAccountRights to grant it.  However, even
if you already have the privilege it needs to be enabled using 
AdjustTokenPrivileges.
See \Lib\site-packages\win32\Demos\security\set_file_audit.py for an example.

          Roger



_______________________________________________
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to