C# 如何访问active directory以将电子邮件组加载到阵列中?

C# 如何访问active directory以将电子邮件组加载到阵列中?,c#,asp.net,active-directory,C#,Asp.net,Active Directory,可能重复: 我正在为公司的职位变动创建一个web表单,并希望将电子邮件组加载到列表框中的数组中。任何提示都将不胜感激。使用目录服务查询商店。确保执行查询的帐户有权写入AD中的那些项目 有关更多信息,请参阅。我认为这将为您提供AD中所有启用邮件的组。但是,我现在没有一个域可以对其进行测试。 当然,您必须添加对System.DirectoryServices的引用 string domainName = "yourDomain"; DirectoryEntry entry =

可能重复:


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

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


有关更多信息,请参阅。

我认为这将为您提供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());
        }
string domainName=“yourDomain”;
DirectoryEntry=newdirectoryEntry(“LDAP://DC=“+domainName+”,DC=com”);
DirectorySearcher search=新的DirectorySearcher(条目);
字符串查询=“(&(&(&(&(mailnickname=*)(|(objectCategory=group)))”;
search.Filter=query;
search.PropertiesToLoad.Add(“名称”);
SearchResultCollection mySearchResultColl=search.FindAll();
列表组=新列表();
foreach(mySearchResultColl中的搜索结果sr)
{
DirectoryEntry de=sr.GetDirectoryEntry();
添加(de.Properties[“Name”].Value.ToString());
}