1

我正在使用以下代码模拟某些操作:

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();
    }
}

当我以 User1 身份登录时,这些操作完美运行,当我以 user2 身份登录时,我得到一个我不明白的 UnauthorizedException,因为 user1 有权执行这些操作。

有任何想法吗 ?

4

0 回答 0