Changing Remote Registry
Kevin Holleran
kdawg44 at gmail.com
Fri Aug 7 11:05:01 EDT 2009
On Fri, Aug 7, 2009 at 10:46 AM, MRAB <python at mrabarnett.plus.com> wrote:
> Kevin Holleran wrote:
>
>>
>> On Fri, Aug 7, 2009 at 10:11 AM, MRAB <python at mrabarnett.plus.com<mailto:
>> python at mrabarnett.plus.com>> wrote:
>>
>> Kevin Holleran wrote:
>>
>> Good morning,
>>
>> I fear the answer to this is that I just cannot do this....
>>
>> I wrote a python script that goes out to a bunch of remote
>> machines and queries the registry for some values. Effectively,
>> there have been some software upgrades that have been done as
>> the need arose but we need to do them across the organization
>> now. There are three, and the script checks all three and
>> returns the values. One of these just needs to be a registry
>> change as it is a client server application that the server was
>> upgraded and the clients need a change to a registry value to work.
>>
>> Long story short, I am using _winreg to do this.
>>
>> hKey = _winreg.OpenKey (keyPath, path, 0, _winreg.KEY_SET_VALUE)
>> value,type = _winreg.QueryValueEx(hKey, item)
>> if (value == wrongValue):
>> _winreg.SetValue(hKey,'',_winreg.REG_SZ,correctValue)
>>
>>
> Hmm. If you're querying with (hKey, item), shouldn't you also be setting
> with (hKey, item), not (hKey,'')?
>
>
> When I do this I receive the error:
>>
>> _winreg.SetValue WindowsError: [Error 5] Access Denied
>>
>>
>> I am running this from my machine as a domain admin, connecting
>> to the remote machine which is also on the domain.
>> I am connecting to the remote registry with:
>>
>> keyPath = _winreg.ConnectRegistry(r"\\" +
>> ipAddress,_winreg.HKEY_LOCAL_MACHINE)
>>
>>
>> Thanks for any help.
>>
>> What is 'ipAddress'? Is it an actual IP address? The documentation says
>> it should be the computer name.
>> -- http://mail.python.org/mailman/listinfo/python-list
>>
>>
>>
>> Thanks for the response. From my experience that does not matter. It is
>> an actual IP address. I can connect to the registry fine, its just the
>> writing. I read that value and other values. It errors on the
>> _winreg.KEY_SET_VALUE. I am wondering if Windows just will not let the
>> registry be changed remotely in this way or if there is something else I
>> have to do.
>>
>> --
> http://mail.python.org/mailman/listinfo/python-list
>
Sorry, that line is correct, I was removing specific information relevant to
our infrastructure. That is the valuename. The error I am getting is:
Traceback (most recent call last):
File "script.py", line 53, in <module>
value,type = _winreg.QueryValueEx(hKey,item)
WindowsError: [Error 5] Access is denied
But the real error is here I believe:
hKey = _winreg.OpenKey (keyPath, path, 0, _winreg.KEY_SET_VALUE)
When I just do a:
hKey = _winreg.OpenKey (keyPath, path, 0, _winreg.KEY_READ)
I receive no errors.
Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20090807/f50097e1/attachment-0001.html>
More information about the Python-list
mailing list