Re: HKEY_LOCAL_MACHINE Registry Access

Tech-Archive recommends: Speed Up your PC by fixing your registry




"Kevin Swanson" <kevinswanson@xxxxxxxxxxxxx> wrote in message
news:2F1B9F00-D13A-4FF5-8C0D-C21F515F1C5C@xxxxxxxxxxxxxxxx
> I'm attempting some remote registry manipulation via C#. I've written a
> test
> app to simply grab a specified key from a specified hive on a specified
> machine. The call to OpenSubKey is throwing System.SecurityException.
>
> Also of note: Sitting at my local box, I can open regedit and connect to
> the
> remote registry. I see three hives: _CLASSES_ROOT, _LOCAL_MACHINE, and
> _USERS. I can open all but HKEY_LOCAL_MACHINE. When I try to expand that
> one,
> I get a simple error message that tells me almost nothing.
>
> So I'm fairly certain I'm running up against some kind of permissions
> issue.
> This is a dev server, but I still don't want to go mucking around too much
> without knowing what I'm doing. Via Terminal Services, I added LOCAL
> SERVICE
> to HKEY_LOCAL_MACHINE and a few sub keys. That didn't help. I also found
> two
> interesting entries in the Local Security Polcy: Remotely accessible
> registry
> paths and Remotely accesible registry paths and sub-paths. I didn't mess
> around with those much, but I did notice that there's no hive on any of
> the
> entries, and it doesn't LOOK like all of the paths I can see connecting
> remotely via regedit are in those lists (but I could be wrong).
>
> So what's the magic formula for accessing these keys remotely? And are
> some
> of them tied down by default? I don't think anyone here specifically
> decided
> to make the local_machine hive inaccessible remotely...
>
> Here's some details:
> My Machine: Windows 2000 Professional
> Remote Machine: Windows 2003 Server
> I'm an admin on both machines...
>
> Just for fun, here's a code sample:
>
> public static RegistryKey GetKey(RegistryHive hive, string key, string
> server)
> {
> RegistryKey parentKey;
> RegistryKey returnKey = null;
>
> if (server == null || server.Length == 0)
> {
> server = string.Empty;
> }
>
> parentKey = RegistryKey.OpenRemoteBaseKey(hive, server);
>
>
> if (parentKey != null)
> {
> try
> {
> // THE LINE BELOW THROWS
> //
> System.SecurityException
>
> returnKey = parentKey.OpenSubKey(key, true);
> }
> catch(Exception exception)
> {
> // handle the exception!
> returnKey = null;
> }
>
> }
>
> return returnKey;
> }
>

You need to be an admininistrator on the remote machine for this to work.

Willy.


.



Relevant Pages

  • Re: HKEY_LOCAL_MACHINE Registry Access
    ... > administrator on the W2K3 box and authenticate as the local administrator ... I connect to the remote registry with no problems. ... > application specific for Exchange Server 2003. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Unable to logon to a Windows Server 2003 system.
    ... It must be in the location indicated by this registry key. ... You can check the system drive letter with a Command ... that you ask an experienced server administrator to assist you. ... I have a problem with a server in one of our remote sites. ...
    (microsoft.public.windows.server.general)
  • RE: HKEY_LOCAL_MACHINE Registry Access
    ... I connect to the remote registry with no problems. ... application specific for Exchange Server 2003. ... > to HKEY_LOCAL_MACHINE and a few sub keys. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: DCOM on Windows CE.NET4.2
    ... Build the server object on your PC and install it. ... you can write your program which will use the remote object. ... If you can't forget about DCOM. ... you have to set the registry on your CE ...
    (microsoft.public.windowsce.embedded.vc)
  • Re: W2K Application Server > Why cant I log on anymore?
    ... I can get the local registry to load. ... When I try to load the server registry remotely using psexec from the C root ... >> I wanted to be able to remote desktop in, but it kept on saying I don't ...
    (microsoft.public.win2000.networking)