This .NET API funktioniert OK, wenn ich versuche, die Registrierung auf einem Computer zu öffnen, der sich in derselben Domäne befindet wie ich (und mein angemeldeter Benutzer verfügt über Administratorrechte auf dem Zielcomputer).Wie übermittle ich Anmeldeinformationen an einen Computer, damit ich Microsoft.Win32.RegistryKey.OpenRemoteBaseKey() darauf verwenden kann?
Es wird schwierig, wenn es sich um eine Out-of-Domain-Maschine mit einem anderen lokalen administrativen Benutzer handelt (von dem ich das Passwort habe).
Ich habe versucht, WNetUseConnection() (das hat mir gut in der Vergangenheit in Situationen, in denen ich wollte, war eine Remote-Datei zu lesen) vor dem Aufruf von OpenRemoteBaseKey(), aber keine Würfel - ich bekomme eine Ausnahme Zugriff verweigert .
Natürlich muss ich Anmeldeinformationen auf andere Weise übergeben, aber wie?
+1 Dies ist wirklich die einzige Möglichkeit, es zu tun. – Nate
Kann ich die Variable "Token" lange Zeit behalten und dann den Block "using/Undo()" an verschiedenen Stellen mit demselben Token verwenden? " – JCCyC
Ich denke schon. Es ist die Impersonate, die sich tatsächlich anmeldet. Was ich verwendet habe, ist ein "GetImpersonation()", das einen WindowsImpersonationContext wie oben –