【发布时间】:2009-11-28 04:32:11
【问题描述】:
我正在构建一个 csharp 应用程序,我想在我的 outlook 全球通讯录 中列出所有用户的下拉列表(当我点击 To: from Outlook gui 时,我想要一个下拉列表。这可能吗?得到这个程序?这里有什么安全要求?
【问题讨论】:
标签: c# outlook exchange-server addressbook
我正在构建一个 csharp 应用程序,我想在我的 outlook 全球通讯录 中列出所有用户的下拉列表(当我点击 To: from Outlook gui 时,我想要一个下拉列表。这可能吗?得到这个程序?这里有什么安全要求?
【问题讨论】:
标签: c# outlook exchange-server addressbook
过去,除了对 Outlook 的依赖之外,安全后果使我无法使用这种方法。结果,我最终以LDAP query 的形式构建了它。另一个优点是,(响应您的other question)您将能够提取联系信息,因为此信息存储在 Active Directory 中。
免责声明:我看这段代码已经快五年了,所以恐怕我不再完全理解这个查询了。不过,希望这足以让您入门。
DirectoryEntry adFolderObject = new DirectoryEntry();
DirectorySearcher adSearcher = new DirectorySearcher(adFolderObject);
adSearcher.SearchScope = SearchScope.Subtree;
adSearcher.Filter = "(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(!(homeMDB=*))(!(msExchHomeServerName=*)))(&(objectCategory=person)(objectClass=user)(|(homeMDB=*)(msExchHomeServerName=*))) ))";
foreach (SearchResult adObject in adSearcher.FindAll())
{
Console.WriteLine("CN={0}, Path={1}", adObject.Properties["CN"][0], adObject.Path);
}
【讨论】: