C# 使用LDAP/AD查找用户订阅的邮件列表
我目前正在寻找一个用户订阅的邮件分发列表列表。我以前从未使用过活动目录,在阅读了这里和MSDN上的各种答案后,我感到非常困惑 我的查询设置如下: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
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)
{
//在这里做事
}
以下是我的问题:
SearchRoot
内部,可能还会查看它的所有子容器。它只是用来减少搜索内容的容器数量
(2) 我是否需要将SearchScope值设置为Subtree?我是否只列出1个OU作为基本OU,并让它搜索所有sub OU
如果要在SearchRoot
下搜索OU或其他容器,则必须搜索SearchScope.Subtree
,否则搜索将只查看SearchRoot
容器本身(在容器内的所有对象,如用户、计算机、组,但不查看子容器)
(3) 发送到PropertiesToLoad.Add()的字符串是通用的,还是需要由我的公司定义的字符串
这些是LDAP属性名称——它们可以是两者,也可以是公司可能定义和安装的自定义扩展。(实际上有几个)。我建议您下载到eclipse并了解您的目录。如果你有时间。在学习如何正确查询AD/ldap时,您的大多数问题都会得到回答。