可能重复:
How can I tell if my process is running As Administrator?
如果我的进程作为本地管理员运行,如何使用C#进行检查?
我知道如何确定当前用户是否是内置管理员组的成员。但这不是我想知道的。我想知道当前用户是否是(唯一的)特殊本地管理员帐户。
我也知道如何检索当前用户的名称,但我不想将其与硬编码名称“Administrator”进行比较,因为这不适用于Windows的本地化版本(例如西班牙语中的“Administrador”,法语中的“Administrateur”等。)
答案 0 :(得分:1)
这是我使用的方式
WindowsIdentity user = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(user);
bool isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);