从AD域获取所有用户

我需要能够识别我的AD(Active Directory)域中的所有用户。 我有域名,这是关于它。 如果我可以将它作为UserPrincipal的列表或其他东西,但如果它只是一个字符串然后我可以从那里获得我需要的其余信息,它会摇滚。

谢谢!

如果您只需要获取用户列表,则可以使用此代码 –

var dirEntry = new DirectoryEntry(string.Format("LDAP://{0}/{1}", "xycom", "DC=x,DC=y,DC=com")); var searcher = new DirectorySearcher(dirEntry) { Filter = "(&(&(objectClass=user)(objectClass=person)))" }; var resultCollection = searcher.FindAll(); 

但是,如果您需要使用AD进行更多操作,则应考虑使用LINQ to AD API http://linqtoad.codeplex.com/

它是一个基于Linq的API,可以与AD一起使用。 易于使用,我有一些很好的结果。

看看这篇文章: 如何:(几乎)通过C#在Active Directory中的一切

我想你可以使用类似的东西:

 DirectoryEntry domain = new DirectoryEntry("LDAP://domain.com/CN=Users,DC=Domain,DC=com"); foreach (DirectoryEntry child in domain.Children) { // code }