获取Outlook Exchange全球通讯录的访问权限

时间:2009-11-28 04:32:12

标签: c# outlook exchange-server addressbook

我正在构建一个csharp应用程序,我希望在我的 Outlook全局地址簿中找到所有用户的下拉列表(当我点击To:from outlook gui时,同样的一个用户可以这样做得到这个progrmaticall?这里的安全要求是什么?

1 个答案:

答案 0 :(得分:1)

除了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);
}