【C#】当前用户是否有管理员权限:WindowsPrincipal

在IsInRole方法中,可以验证用户是否是指定角色的一个成员。
角色是有相同安全权限的用户集合,同时它是用户的管理单元。
角色可以是Windows组或自己定义的一个字符串集合。

// 计算机名称
Console.WriteLine("计算机名称:", Environment.UserName);
// 计算机NetBIOS名称 
Console.WriteLine("NetBIOS名称:{0}", Environment.MachineName);
// 计算机网络域名称 
Console.WriteLine("网络域名称:{0}", Environment.UserDomainName);

WindowsPrincipal winPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());

// 验证用户是否是指定角色的一个成员
bool isAdmin = winPrincipal.IsInRole(WindowsBuiltInRole.Administrator);
if (isAdmin)
{
     Console.WriteLine("当前用户:是管理员", Environment.UserName);
}
else
{
     throw new Exception("当前用户:不是管理员");
}
// 获取运行程序的路径
string fileName = Process.GetCurrentProcess().MainModule.FileName;

原文地址:https://www.cnblogs.com/victor963/p/14467880.html