Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.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# 使用LDAP/AD查找用户订阅的邮件列表_C#_.net_Active Directory - Fatal编程技术网

C# 使用LDAP/AD查找用户订阅的邮件列表

C# 使用LDAP/AD查找用户订阅的邮件列表,c#,.net,active-directory,C#,.net,Active Directory,我目前正在寻找一个用户订阅的邮件分发列表列表。我以前从未使用过活动目录,在阅读了这里和MSDN上的各种答案后,我感到非常困惑 我的查询设置如下: DirectorySearcher search = new DirectorySearcher(); search.Filter = String.Format("LDAP://CN={0},OU=<value here>,DC=<value>...", userName); search.SearchScope = Sear

我目前正在寻找一个用户订阅的邮件分发列表列表。我以前从未使用过活动目录,在阅读了这里和MSDN上的各种答案后,我感到非常困惑

我的查询设置如下:

DirectorySearcher search = new DirectorySearcher();
search.Filter = String.Format("LDAP://CN={0},OU=<value here>,DC=<value>...", userName);
search.SearchScope = SearchScope.Subtree;
search.PropertiesToLoad.Add("memberOf");
SearchResult result = search.FindOne();
if(result != null)
{
    // Do stuff here
}
DirectorySearcher search=newdirectorysearcher();
search.Filter=String.Format(“LDAP://CN={0},OU=,DC=…”,用户名);
search.SearchScope=SearchScope.Subtree;
search.PropertiesToLoad.Add(“memberOf”);
SearchResult=search.FindOne();
如果(结果!=null)
{
//在这里做事
}
以下是我的问题:

  • DirectorySearcher中的SearchRoot属性做什么?我是否需要将其设置为使此查询返回值
  • 我是否需要将SearchScope值设置为Subtree?我是否只列出1个OU作为基本OU,并让它搜索所有sub OU
  • 发送到PropertiesToLoad.Add()的字符串是通用的,还是需要由我的公司定义的字符串 谢谢你的建议

    (1) DirectorySearcher中的SearchRoot属性做什么?我是否需要将其设置为使此查询返回值

    它定义了搜索的起点;将其与文件系统进行比较-它定义了开始搜索的起始目录。您将查看
    SearchRoot
    内部,可能还会查看它的所有子容器。它只是用来减少搜索内容的容器数量

    (2) 我是否需要将SearchScope值设置为Subtree?我是否只列出1个OU作为基本OU,并让它搜索所有sub OU

    如果要在
    SearchRoot
    下搜索OU或其他容器,则必须搜索
    SearchScope.Subtree
    ,否则搜索将只查看
    SearchRoot
    容器本身(在容器内的所有对象,如用户、计算机、组,但不查看子容器)

    (3) 发送到PropertiesToLoad.Add()的字符串是通用的,还是需要由我的公司定义的字符串

    这些是LDAP属性名称——它们可以是两者,也可以是公司可能定义和安装的自定义扩展。(实际上有几个)。

    我建议您下载到eclipse并了解您的目录。如果你有时间。在学习如何正确查询AD/ldap时,您的大多数问题都会得到回答。