我需要能够识别AD(Active Directory)域中的所有用户。我有域名,这是关于它。如果我可以将它作为UserPrincipal或其他东西的列表获得它会摇滚,但如果它只是一个字符串然后我可以从那里获得我需要的其余信息。
谢谢!
答案 0 :(得分:5)
答案 1 :(得分:5)
如果您只需要获取用户列表,则可以使用此代码 -
var dirEntry = new DirectoryEntry(string.Format("LDAP://{0}/{1}", "x.y.com", "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一起使用。易于使用,我用它得到了一些好的结果。
答案 2 :(得分:2)
我认为你可以使用类似的东西:
DirectoryEntry domain = new DirectoryEntry("LDAP://domain.com/CN=Users,DC=Domain,DC=com");
foreach (DirectoryEntry child in domain.Children)
{
// code
}