如何访问活动目录以将电子邮件组加载到阵列中?

时间:2011-05-20 20:12:28

标签: c# asp.net active-directory

  

可能重复:
  ASP.NET How to get List of Groups in Active Directory

我正在为公司中的位置更改创建一个Web表单,并希望将电子邮件组加载到数组中以列在列表框中。任何提示将不胜感激。

2 个答案:

答案 0 :(得分:0)

使用目录服务查询商店。确保执行查询的帐户有权访问AD中的这些项目。

有关详细信息,请参阅here

答案 1 :(得分:0)

我认为这将为您提供来自AD的所有已启用邮件的群组。我现在没有域名来测试它。 当然,您必须添加对System.DirectoryServices的引用

  string domainName = "yourDomain";
        DirectoryEntry entry = new DirectoryEntry("LDAP://DC=" + domainName + ",DC=com");
        DirectorySearcher search = new DirectorySearcher(entry);
        string query = "(&(&(& (mailnickname=*) (| (objectCategory=group) ))))";
        search.Filter = query;
        search.PropertiesToLoad.Add("name");

        SearchResultCollection mySearchResultColl = search.FindAll();

        List<string> groups = new List<string>();

        foreach (SearchResult sr in mySearchResultColl)
        {
            DirectoryEntry de = sr.GetDirectoryEntry();
            groups.Add(de.Properties["Name"].Value.ToString());
        }