OpenRemoteBaseKey() credentials

Question:

I’m attempting to use powershell to access a remote registry like so:

Depending on some factors that I’m not yet able to determine I either get

Exception calling “OpenSubKey” with “1” argument(s): “Requested registry access is not allowed.”

Or

System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
at Microsoft.Win32.RegistryKey.Win32ErrorStatic(Int32 errorCode, String str)
at Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RegistryHive hKey, String machineName)

It seems pretty clear that this is because the user I’m running the powershell script as doesn’t have the appropriate credentials to access the remote registry. I’d like to be able to supply a set of credentials to use for the remote registry access, but I can find no documentation anywhere of a way to do this. I’m also not clear on exactly where to specify which users are allowed to access the registry remotely.

Answer:

Just thought I’d add my answer to anyone with this problem as well. It seems there is no way to add Credentials using RemoteRegistry. You can however use WMI to query a remote registry using alternative credentials as follows:

From here you can call standard Registry methods. The below example will return the operating system.

Hope this helps someone 🙂

Source:

OpenRemoteBaseKey() credentials by licensed under CC BY-SA | With most appropriate answer!

Leave a Reply