如果以本地管理员身份运行,如何签入C#

时间:2012-09-07 12:41:42

标签: c# windows-identity

  

可能重复:
  How can I tell if my process is running As Administrator?

如果我的进程作为本地管理员运行,如何使用C#进行检查?

我知道如何确定当前用户是否是内置管理员组的成员。但这不是我想知道的。我想知道当前用户是否是(唯一的)特殊本地管理员帐户。

我也知道如何检索当前用户的名称,但我不想将其与硬编码名称“Administrator”进行比较,因为这不适用于Windows的本地化版本(例如西班牙语中的“Administrador”,法语中的“Administrateur”等。)

1 个答案:

答案 0 :(得分:1)

这是我使用的方式

    WindowsIdentity user = WindowsIdentity.GetCurrent();
    WindowsPrincipal principal = new WindowsPrincipal(user);
    bool isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);