c#获取AD账户信息

时间:2022-06-18 02:12:22

注意:遍历的电脑必须加入域环境

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());

View Code

连接验证语句:if (principalContext.ValidateCredentials("sunhaiming", "zhang.1219"))
            {
                return;
            }


也可以使用directorysearcher  DirectoryEntry  类