C# 从AD域获取所有用户
我需要能够识别我的AD(Active Directory)域上的所有用户。我有域名,仅此而已。如果我能把它作为一个UserPrincipal列表或者什么的话,它会很震撼,但是如果它只是一个字符串,那么我就可以从那里得到我需要的其他信息C# 从AD域获取所有用户,c#,.net,active-directory,C#,.net,Active Directory,我需要能够识别我的AD(Active Directory)域上的所有用户。我有域名,仅此而已。如果我能把它作为一个UserPrincipal列表或者什么的话,它会很震撼,但是如果它只是一个字符串,那么我就可以从那里得到我需要的其他信息 谢谢 看看这篇文章:我想你可以用这样的东西: DirectoryEntry domain = new DirectoryEntry("LDAP://domain.com/CN=Users,DC=Domain,DC=com"); foreach (Directory
谢谢 看看这篇文章:我想你可以用这样的东西:
DirectoryEntry domain = new DirectoryEntry("LDAP://domain.com/CN=Users,DC=Domain,DC=com");
foreach (DirectoryEntry child in domain.Children)
{
// code
}
如果您只需要获取用户列表,则可以使用此代码-
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到AD API
这是一个基于Linq的API,可以与AD一起使用。使用起来很简单,我用它获得了一些好的结果。是的,只是在找到我需要的东西时遇到了困难。可能是我的组织的错,因为它的AD实现非常糟糕嘿,伙计,我怎么能指定我想要的是对象类而不是那个过滤器中的计算机呢?我的组织在那里相当愚蠢