471,350 Members | 1,435 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,350 software developers and data experts.

WindowsError: [Error 5] Access is denied With _winreg.enum

I have included a small script the reproduces the error I am having in
larger script.
The line 'hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,name)'
seems
to be causing the error but im not sure why.
--------------------- script ----------------

import _winreg
import string

def reproduce_error():

for index in
xrange(_winreg.QueryInfoKey(_winreg.HKEY_LOCAL_MAC HINE)[0]):
#get names
name =
_winreg.EnumKey(_winreg.HKEY_LOCAL_MACHINE,index)
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,name)
print name

hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,'SOFTWA RE')
print hkey
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,'SAM')
print hkey

if __name__ == '__main__':
reproduce_error()
------------------- end script
-----------------------------------------
HARDWARE
SAM
Traceback (most recent call last):
File "winreg_error.py", line 19, in <module>
reproduce_error()
File "winreg_error.py", line 10, in reproduce_error
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,name)
WindowsError: [Error 5] Access is denied
Nov 28 '07 #1
2 12299
On Nov 28, 2007 11:04 AM, black_13 <jj******@gmail.comwrote:
I have included a small script the reproduces the error I am having in
larger script. The line 'hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,name)'
seems to be causing the error but im not sure why.
....
WindowsError: [Error 5] Access is denied
Your user does not have permission to open the registry key you
requested. On my local machine, HKEY_LOCAL_MACHINE/SECURITY is only
accessible by the SYSTEM account. Even Administrative users do not
have Read rights to that key by default.

If you want to skip keys you don't have permission to access, you
could do something like this:

import _winreg

for index in xrange(_winreg.QueryInfoKey(_winreg.HKEY_LOCAL_MAC HINE)[0]):
try:
name = _winreg.EnumKey(_winreg.HKEY_LOCAL_MACHINE,index)
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,name)
except WindowsError:
print "Could not access registry key", name
else:
print name, hkey

--
Jerry
Nov 28 '07 #2
On Nov 28, 10:04 am, black_13 <jjosb...@gmail.comwrote:
I have included a small script the reproduces the error I am having in
larger script.
The line 'hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,name)'
seems
to be causing the error but im not sure why.
--------------------- script ----------------

import _winreg
import string

def reproduce_error():

for index in
xrange(_winreg.QueryInfoKey(_winreg.HKEY_LOCAL_MAC HINE)[0]):
#get names
name =
_winreg.EnumKey(_winreg.HKEY_LOCAL_MACHINE,index)
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,name)
print name

hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,'SOFTWA RE')
print hkey
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,'SAM')
print hkey

if __name__ == '__main__':
reproduce_error()
------------------- end script
-----------------------------------------
HARDWARE
SAM
Traceback (most recent call last):
File "winreg_error.py", line 19, in <module>
reproduce_error()
File "winreg_error.py", line 10, in reproduce_error
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,name)
WindowsError: [Error 5] Access is denied
If you move the "print name" line up one line, you'll notice that it's
choking on the Security key. Go to Start --Run and type regedit. Go
to that key and right-click it and check its permissions.

On my PC the only user that has complete control is the SYSTEM. So
you'll probably just want to put an exception block in your function
that records the keys that you can't open and continues to run.

Mike
Nov 28 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Bruce A. Julseth | last post: by
3 posts views Thread by John Sellers | last post: by
22 posts views Thread by James Kupernik | last post: by
2 posts views Thread by future_retro | last post: by
6 posts views Thread by Peter Frost | last post: by
reply views Thread by XIAOLAOHU | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.