This .NET API funziona bene se sto cercando di aprire il Registro di sistema in una macchina che è nello stesso dominio come lo sono io (e il mio utente connesso dispone dei diritti di amministratore sul computer di destinazione).Come si trasmettono le credenziali a una macchina in modo da poter utilizzare Microsoft.Win32.RegistryKey.OpenRemoteBaseKey() su di essa?
Diventa difficile se si tratta di una macchina fuori-di-dominio con un altro utente, locali amministrativi (di cui io ho la password).
Ho provato a utilizzare WNetUseConnection() (che mi ha servito molto bene in passato in situazioni in cui quello che volevo era leggere un file del disco remoto) prima di chiamare OpenRemoteBaseKey(), ma nessun dado - Ricevo un'eccezione di accesso negata .
Chiaramente, devo passare le credenziali in qualche altro modo, ma come?
+1 Questo è davvero l'unico modo per farlo. – Nate
Potrei tenere la variabile "token" intorno a un lungo periodo di tempo, e quindi utilizzare il "/ Annulla() utilizzando" blocco in vari punti nel domare utilizzando lo stesso motivo?" – JCCyC
Credo di sì. E 'la Rappresenta che effettivamente segni. Quello che ho usato è un "GetImpersonation()" che restituisce un WindowsImpersonationContext come sopra –