I'm trying to access the registry of a Windows 7 machine from another Windows 7 machine. I started the Remote Registry service on the machine I'm trying to connect to, and I am able to make the initial connection and see the HKEY_LOCAL_MACHINE and HKEY_USERS keys. When I go to expand HKLM, however, I get an error saying "Cannot open HKEY_Local_Machine: error while opening key". I am able to expand HKEY_USERS with no problem.
I verified that my firewall is completely turned off and that the LOCAL SERVICE account, which is running my Remote Registry service, does have read permission in HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
I also compared the permissions of all of the direct child subkeys off of HKLM (BCD00.., HARDWARE, SAM, etc) to another machine that does allow me to remotely connect to its registry (also Windows 7), and those permissions are all exactly the same.
I am able to fix the problem by logging directly onto the remote machine, opening regedit, right clicking on HKLM, going to Permissions -> Advanced and clicking the "Replace all child object permissions with inheritable permissions from this object". Once I do that, I can remotely expand HKLM, however, I do not want to have to do that.
Does anyone know what my problem might be, or at least how I can go about debugging the issue and figuring out exactly what permission is missing and where?
Thank you!
UPDATE: I believe the reason is because the account I'm using is not a domain account (I was told it was, but then finally woke up and noticed it was not. I can get around this by setting the HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy key to 1