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());
}