首页 > 解决方案 > 如何通过 Microsoft.Exchange.WebServices 获取 GAL id 并使用 FindPeople

问题描述

我想就以下问题寻求帮助:

使用:c#、Microsoft.Exchange.WebServices、ExchangeServer 2013 SP1

  1. 是否可以通过使用 c# + Microsoft.Exchange.WebServices 获取 GAL 的 ID?我发现的唯一可能性是我需要在 Exchange 命令行管理程序中使用“Get-GlobalAddressList cmdlet https://technet.microsoft.com/en-us/library/aa996579(v=exchg.160).aspx 。

我更喜欢通过 c# 检索它,但我找不到任何有关它的信息。

  1. 查询 GAL - 检索所有项目。进行研究我发现了两种方法 - 有用的方法:

a) service.ResolveName - 经过一些小的调整 b) 服务。FindPeople - 未测试,因为我没有 GAL 的 id。有人可以告诉我这是否比“a”更好,并提供在 c# 中的使用示例

还有其他方法可以从 GAL 获取所有项目吗?教程、文章或代码示例的任何链接?

标签: c#exchangewebservicesgal

解决方案


如果是 OnPrem Exchange,您可以直接使用 LDAP https://www.c-sharpcorner.com/article/accessing-global-address-list-via-system-directoryservices-n/查询活动目录。您无法使用 EWS 托管 API 获取 GAL 的 ID,您可以使用离线通讯簿https://gsexdev.blogspot.com/2013/06/ews-findpeople-workaround-for-reading.html。如果是 Office365,那么 Graph API 将是一个更好的选择。


推荐阅读