c#获取AD账户信息
1、获取连接语句
2、获取相关信息
3、搜索信息
3、遍历信息
注意:遍历的电脑必须加入域环境
IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties(); string doname = ipGlobalProperties.DomainName; PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, doname, "sunhaiming", "zhang.1219"); ComputerPrincipal computerPrincipal = new ComputerPrincipal(principalContext); UserPrincipal userPrincipal = new UserPrincipal(principalContext); PrincipalSearcher principalSearcher = new PrincipalSearcher(userPrincipal); principalSearcher = new PrincipalSearcher(computerPrincipal); StringBuilder sb = new StringBuilder(); foreach (ComputerPrincipal computerPrincipalSearchResult in principalSearcher.FindAll()) { sb.AppendLine(string.Format("UPN:{0}", computerPrincipalSearchResult.UserPrincipalName)); sb.AppendLine(string.Format("描述:{0}", computerPrincipalSearchResult.Description)); sb.AppendLine(string.Format("是否启用:{0}", computerPrincipalSearchResult.Enabled)); sb.AppendLine(string.Format("SAM账号名:{0}", computerPrincipalSearchResult.SamAccountName)); sb.AppendLine(string.Format("名称:{0}", computerPrincipalSearchResult.Name)); sb.AppendLine(string.Format("上次登录时间:{0}", computerPrincipalSearchResult.LastLogon)); } computerPrincipal.Dispose(); Console.WriteLine(sb.ToString());
连接验证语句:if (principalContext.ValidateCredentials("sunhaiming", "zhang.1219"))
{
return;
}
也可以使用directorysearcher DirectoryEntry 类