This .NET API fonctionne bien si j'essaie d'ouvrir le Registre sur une machine qui est dans le même domaine que moi (et que mon utilisateur connecté a des droits d'administrateur sur la machine cible).Comment puis-je transmettre des informations d'identification à une machine afin que je puisse utiliser Microsoft.Win32.RegistryKey.OpenRemoteBaseKey() dessus?
Cela devient compliqué si c'est une machine hors domaine avec un utilisateur administrateur local différent (dont j'ai le mot de passe). J'ai essayé d'utiliser WNetUseConnection() (ce qui m'a bien servi dans le passé dans des situations où je voulais lire un fichier disque distant) avant d'appeler OpenRemoteBaseKey(), mais pas de dés - j'obtiens une exception d'accès refusé .
De toute évidence, je dois transmettre des informations d'identification d'une autre manière, mais comment?
+1 C'est vraiment la seule façon de le faire. – Nate
Puis-je garder la variable "token" autour d'un long moment, puis utiliser le bloc "using/Undo()" à différents points du même jeton? " – JCCyC
Je pense que c'est l'Impersonate qui se connecte. Qu'est-ce que j'ai utilisé est un "GetImpersonation()" qui renvoie un WindowsImpersonationContext comme ci-dessus –