【问题标题】:Using Exchange GetAddressEntryFromID method with LDAP msExchMailboxGuid将 Exchange GetAddressEntryFromID 方法与 LDAP msExchMailboxGuid 一起使用
【发布时间】:2018-11-14 06:40:47
【问题描述】:

Outlook COM 在 Application.Session.GetAddressEntryFromID 方法下有一个方法来获取地址条目,而无需遍历整个 Global 或 All Users 通讯簿。

问题是它需要一个条目在 AddressLists 对象下的 ID。

在 Active Directory 中,没有任何等价物可以为我提供相同的 GetAddressEntryFromId 字符串。

我之前通过遍历整个 COM 对象来制作所有用户的列表,减去房间和资源,但这需要太长时间; 20 分钟。

我想如果我使用更快的 AD 过滤器来查找用户,那么我可以获取 GUID,并且在查找有关用户的信息时,不必通过整个 COM 对象来获取它,但是它会在本地发生在正在运行的可执行文件上。

例如,我遇到的问题是我有一个具有以下 ID 的用户;

00000000DCA740C8C042101AB4B908002B2FE18201000000000000002F6F3D45766572657374205265696E737572616E63652F6F753D436F72702D48512F636E3D526563697069656E74732F636E3D6A6E6700

在 AD 中,msExchMailboxGuid 的值为

{4A49BD1C-62AE-4674-B097-C06528BDBEAE}

不确定这些是否相同,但我需要学习更好地保存它。

我还能用什么,我能用当前时间做什么?

【问题讨论】:

    标签: outlook ldap exchange-server


    【解决方案1】:

    GAL 条目 ID 由 EX 地址构成(存储在 legacyDN 属性中)。

    您上面的条目 id 包含以下内容:

    【讨论】:

    • 我遇到的主要问题如下:
    • 那么问题是什么?
    • 我遇到的主要问题如下: 1. 遍历OutlookCOM.Session.AddressList["All Users"] 的 COM 对象以逐个用户确定它是否是真实的人而不是房间或服务帐户需要 20分钟。一旦我得到了 AddressEntry,我的想法就是得到他们的 FreeBusy 属性。这也需要时间。或者,COM 对象有一个 OutlookCOM.Session.GetAddressEntryFromID(String),我认为它会使用 AD msExchMailboxGuid 属性......结果不是。所以现在我被 AD 的属性和 COM 的属性困住了,但是要获得 COM 的属性我必须
    • 遍历 COM 对象并再次...需要时间...遍历 AD 要快得多,因为我可以使用 System.DirectoryServices.DirectorySearcher 类进行过滤,过滤器不会经过整个 AD 对象。 SOOOOOO 快得多。
    • 在 Outlook 中,您可以使用 Namespace.CreateRecipient / Recipient.Resolve - 这与在 To 编辑框中键入名称并按 Ctrl+K 解析名称的效果相同。
    猜你喜欢
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 2016-12-24
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多