下面的代码演示了如何在程序中读取用户的Windows身份信息
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Security.Principal; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { AppDomain.CurrentDomain.SetPrincipalPolicy(System.Security.Principal.PrincipalPolicy.WindowsPrincipal); //打印当前用户的用户名 Console.WriteLine("当前用户:{0}", Thread.CurrentPrincipal.Identity.Name); //判断当前用户是否属于某个windows组 Console.WriteLine("是否为管理员:{0}", Thread.CurrentPrincipal.IsInRole("BuiltIn\\Administrators")); WindowsPrincipal p =(WindowsPrincipal) Thread.CurrentPrincipal; WindowsIdentity i = p.Identity as WindowsIdentity; //打印当前用户的windows组信息 Console.WriteLine("{0}用户组信息:",Environment.NewLine); foreach (var item in i.Groups.Translate(typeof(NTAccount))) { Console.WriteLine(item); } Console.Read(); } } }