【问题标题】:Active directory and exchange server - extracting the email addressActive Directory 和 Exchange 服务器 - 提取电子邮件地址
【发布时间】:2014-04-15 21:42:43
【问题描述】:

我有一个程序尝试从 AD 中提取电子邮件地址,优先级如下:mail、email 或 userPrincipalName 属性

拥有 Microsoft Exchange 服务器的客户告诉我,提取的电子邮件地址不正确,即在 userPrincpalName 中(显示在 Windows 用户属性选项卡帐户,字段“用户登录名”中)。

在 AD 资源管理器中,我已经证明邮件和电子邮件属性没有返回,因此软件故障转移到 userPrincipalName。

客户已表明特定的 AD 访问帐户已勾选以下权限:

阅读帐户限制 读取交换信息 阅读交换个人信息 阅读一般信息

但是我们没有得到我们在 Windows 用户属性常规选项卡中看到的电子邮件地址,电子邮件字段在 AD 中返回。我们没有在 AD Explorer 中获取邮件/电子邮件 AD 属性。

我在 AD 资源管理器中的任何地方都没有看到相关用户的正确电子邮件地址。

谁能帮助我更好地理解这一点,或者我们如何才能获得正确的属性。

【问题讨论】:

    标签: active-directory exchange-server


    【解决方案1】:

    您要查找的字段名为“proxyAddresses”,它是一个字符串集合,显示为“SMTP:john.doe@example.com;smtp:j.doe@example.com”。

    这意味着主要 Exchange 地址是 john.doe@example.com,而其他(在本例中,只有 j.doe,但您可以拥有更多地址)是次要地址。

    你可以这样使用它们:

        /// <summary>
        /// Gets the exchange emails.
        /// </summary>
        /// <returns></returns>
        private IEnumerable<string> GetExchangeEmails()
        {
            return (from object property in Entry.Properties["proxyAddresses"] select property.ToString()).ToList();
        }
    

    希望这能回答你的问题。

    【讨论】:

    • 是的,谢谢,我认为您是正确的,我找到了支持这一点的信息
    猜你喜欢
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多