Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从AD域获取所有用户_C#_.net_Active Directory - Fatal编程技术网

C# 从AD域获取所有用户

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

我需要能够识别我的AD(Active Directory)域上的所有用户。我有域名,仅此而已。如果我能把它作为一个UserPrincipal列表或者什么的话,它会很震撼,但是如果它只是一个字符串,那么我就可以从那里得到我需要的其他信息


谢谢

看看这篇文章:

我想你可以用这样的东西:

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实现非常糟糕嘿,伙计,我怎么能指定我想要的是对象类而不是那个过滤器中的计算机呢?我的组织在那里相当愚蠢