I'm impersonating certain operations with the following code :
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(Environment.UserName);
ImpersonateUser iu = new ImpersonateUser();
if (iu.impersonateValidUser("user1", "domaine1", "user1password"))
{
MessageBox.Show(Environment.UserName);
RegistryKey regKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "PC1", RegistryView.Registry64).OpenSubKey("SOFTWARE\\ODBC\\ODBC.INI\\NetworkTP_DB");
MessageBox.Show(regKey.GetValue("Description").ToString());
iu.undoImpersonation();
}
}
When I'm logged in as User1 these operations work perfectly, when I'm logged as user2, I get an UnauthorizedException which I don't understand because user1 has the right to do these operations.
Any ideas ?