在Windows 7中,当UAC关闭时,“以管理员身份运行”不以管理员身份运行

时间:2010-02-10 15:02:20

标签: c# windows-7 uac

当我在Windows 7上运行我的c#Windows窗体应用程序时使用:

  • “用户”组中不在“管理员”组中的用户
  • 在关闭用户帐户控制的计算机上
  • 右键单击EXE并选择“以管理员身份运行”

此代码:

WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);

仍然返回false。这是预期的行为吗?

1 个答案:

答案 0 :(得分:2)

我很确定如果用户不是管理员,则以管理员身份运行不会将该用户的该应用程序的上下文提升为管理员的上下文。这将是一个可怕的安全漏洞,最终会使用户保持正常用户的强制安全性。