查找本地域及域帐号详细信息(包含所属Group)
查找本地域及域帐号详细信息(包含所属Group)
1、获取当前域信息
2、获取当前登录的域帐号
3、使用域帐号查找该域帐号的详细信息
4、查找该域帐号所属分组信息(Group)
using System.DirectoryServices.AccountManagement;
class Program
{
static void Main(string[] args)
{
//获取当前域 stringDomainName与stringDomainName的获取方式都可可
string stringDomainName = System.Environment.UserDomainName;
//string stringDomainName = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
//获取当前域帐号
string userName = System.Environment.UserName;
PrincipalContext PrincipalContext1 = new PrincipalContext(ContextType.Domain, stringDomainName);
UserPrincipal UserPrincipal1 = new UserPrincipal(PrincipalContext1);
//按域帐号查找详细信息
UserPrincipal1.SamAccountName = userName;
PrincipalSearcher search = new PrincipalSearcher(UserPrincipal1);
UserPrincipal user = search.FindOne() as UserPrincipal;
Console.WriteLine($@"SamAccountName-{user.SamAccountName}, DisplayName-{user.DisplayName}, Name-{user.Name}, GivenName-{user.GivenName}, Surname-{user.Surname},
Description-{user.Description}, Enabled-{user.Enabled}, LastLogon-{user.LastLogon}");
//获取所属分组信息
PrincipalSearchResult userGroups = user.GetGroups();
foreach(var group in userGroups)
{
Console.WriteLine($"Group-{group.Name}");
}
}
}
参考资料:
https://docs.microsoft.com/en-us/previous-versions/bb384378(v=vs.90)?redirectedfrom=MSDN
https://www.codeproject.com/Articles/489348/Active-Directory-Users-and-Computers
https://www.coder.work/article/240074