本文介绍如何在 Azure Active Directory (Azure AD) 中填充 proxyAddresses 属性,并讨论常见方案,以帮助你了解如何在 Azure AD 中填充 proxyAddresses 属性。
原始产品版本:
Azure Active Directory
原始 KB 编号:
3190357
Active Directory 中的 proxyAddresses 属性是可以包含各种已知地址条目的多值属性。 例如,它可以包含 SMTP 地址、X500 地址、SIP 地址等。 将对象同步到 Azure AD 时,Active Directory 中的 mail 或 proxyAddresses 属性中指定的值将复制到 Azure AD 中的影子邮件或 proxyAddresses 属性,然后根据 Azure AD 内部规则计算 Azure AD 中对象的最终 proxyAddresses。 在 Azure AD 中填充 mail、mailNickName 和 proxyAddresses 属性的逻辑称为代理计算,它考虑了本地 Active Directory数据的多个不同方面,例如:
基于本地 ProxyAddresses 或 UserPrincipalName 设置或更新主 SMTP 地址和其他辅助地址。
根据计算的主要 SMTP 地址设置或更新 Mail 属性。
基于本地 MailNickName 或主 SMTP 地址前缀设置或更新 MailNickName 属性。
放弃具有保留域后缀的本地地址,例如 @*.onmicrosoft.com、@*.microsoftonline.com;
放弃具有旧式协议(如 MSMAIL、X400 等)的本地 ProxyAddresses;
丢弃格式不正确的本地地址或不符合 RFC 5322,例如缺少协议前缀“SMTP:”,包含空格或其他无效字符;
如果用户分配了Exchange Online许可证,则删除具有未验证域后缀的 ProxyAddresses。
因此,Active Directory 中对象的 Mail 和 ProxyAddresses 属性的值可能与 Azure AD 中的 ProxyAddresses 属性值不同。
本文使用以下术语:
初始域:租户中预配的第一个域。 例如,
Contoso.onmicrosoft.com
。
Microsoft Online Email 路由地址 (MOERA) :根据用户的 userPrincipalName 前缀构造的地址,加上初始域后缀,该地址会自动添加到 Azure AD 中的 proxyAddresses。 例如,
smtp:john.doe@Contoso.onmicrosoft.com
。
UserPrincipalName (UPN) :用户的登录地址。
主 SMTP 地址:Exchange 收件人对象的主要电子邮件地址,包括 SMTP 协议前缀。 例如,
SMTP:john.doe@Contoso.com
。
辅助 smtp 地址:其他电子邮件地址 (exchange 收件人对象的) 。 例如,
smtp:john.doe@Contoso.com
。
邮件属性:保留用户的主电子邮件地址,不带 SMTP 协议前缀。 例如,
john.doe@Contoso.com
。
MailNickName 属性:保留 Exchange 收件人对象的别名。 例如,
john.doe
。
方案 1:用户未设置 mail、mailNickName 或 proxyAddresses 属性
你创建了一个本地用户对象,该对象设置了以下属性:
AD:mail : \<not set>
AD:mailNickName : \<not set>
AD:proxyAddresses : {\<not set>}
AD:userPrincipalName : user1upn@Contoso.com
接下来,它将同步到 Azure AD,并且仅使用 UPN 的前缀填充 mailNickName 属性,因为它是强制属性:
AAD:mailNickName : user1upn
AAD:UserPrincipalName : user1upn@Contoso.com
然后,会为其分配Exchange Online许可证。 在此方案中,由于代理计算,将执行以下操作:
使用 UPN 值在 proxyAddresses 属性中设置主 SMTP 地址。
使用主 SMTP 地址填充邮件属性。
使用 mailNickName@initial 域的格式,在 proxyAddresses 属性中添加 MOERA 作为辅助 smtp 地址。
以下属性在 Azure AD 中对具有Exchange Online许可证的同步用户对象进行设置:
AAD:mail : user1upn@Contoso.com
AAD:mailNickName : user1upn
AAD:proxyAddresses : {smtp:user1upn@Contoso.onmicrosoft.com; SMTP:user1upn@Contoso.com}
AAD:userPrincipalName : user1upn@Contoso.com
方案 2:用户没有设置 mailNickName 或 proxyAddresses 属性
你创建了一个本地用户对象,该对象设置了以下属性:
AD:mail : user2mail@Contoso.com
AD:mailNickName : \<not set>
AD:proxyAddresses : {\<not set>}
AD:userPrincipalName : user2upn@Contoso.com
接下来,它会同步到 Azure AD,并且由于代理计算,将执行以下操作:
使用邮件属性的相同值设置主 SMTP。
使用主 SMTP 地址前缀填充 mailNickName 属性。
使用主 SMTP 地址填充邮件属性。
初始用户预配时,会在 Azure AD 中设置以下属性:
AAD:mail : user2mail@Contoso.com
AAD:mailNickName : user2mail
AAD:proxyAddresses : {SMTP:user2mail@Contoso.com}
AAD:userPrincipalName : user2upn@Contoso.com
然后,会为其分配Exchange Online许可证。 在此方案中,将执行以下操作作为代理计算的结果:
将 UPN 添加为 proxyAddresses 属性中的辅助 smtp 地址。
使用 mailNickName@initial 域的格式,在 proxyAddresses 属性中添加 MOERA 作为辅助 smtp 地址。
以下属性在 Azure AD 中对具有Exchange Online许可证的同步用户对象进行设置:
AAD:mail : user2mail@Contoso.com
AAD:mailNickName : user2mail
AAD:proxyAddresses : {smtp:user2upn@Contoso.com; smtp:user2mail@Contoso.onmicrosoft.com; SMTP:user2mail@Contoso.com}
AAD:userPrincipalName : user2upn@Contoso.com
方案 3:更改本地用户的 proxyAddresses 属性值
你创建了一个本地用户对象,该对象设置了以下属性:
AD:mail : \<not set>
AD:mailNickName : \<not set>
AD:proxyAddresses : {smtp:user3pa3@Fabrikam.microsoftonline.com, smtp:user3pa2@Contoso.onmicrosoft.com, SMTP:user3pa1@Contoso.com}
AD:userPrincipalName : user3upn@Contoso.com
接下来,它将同步到 Azure AD 并分配Exchange Online许可证。 在此方案中,将执行以下操作作为代理计算的结果:
放弃具有保留域后缀的地址。 在此示例中,将跳过以下地址:AAD:mail : user3pa1@Contoso.com
AAD:mailNickName : user3pa1
AAD:proxyAddresses : {smtp:user3upn@Contoso.com; smtp:user3pa1@Contoso.onmicrosoft.com; SMTP:user3pa1@Contoso.com}
AAD:userPrincipalName : user3upn@Contoso.com
然后,将本地 proxyAddresses 属性的值更改为以下值:
AD:mail : \<not set>
AD:mailNickName : \<not set>
AD:proxyAddresses : {smtp:user3new3@Fabrikam.microsoftonline.com, smtp:user3new2@Contoso.onmicrosoft.com, SMTP:user3new1@Contoso.com}
AD:userPrincipalName : user3upn@Contoso.com
在此方案中,将执行以下操作作为代理计算的结果:
放弃具有保留域后缀的地址。 例如,跳过以下地址:AAD:mail : user3new1@Contoso.com
AAD:mailNickName : user3pa1
AAD:proxyAddresses : {SMTP:user3new1@Contoso.com; smtp:user3upn@Contoso.com; smtp:user3pa1@Contoso.onmicrosoft.com}
AAD:userPrincipalName : user3upn@Contoso.com
方案 4:删除Exchange Online许可证
你创建了一个本地用户对象,该对象设置了以下属性:
AD:mail : \<not set>
AD:mailNickName : \<not set>
AD:proxyAddresses : {\<not set>}
AD:userPrincipalName : user4upn@Contoso.com
接下来,它将同步到 Azure AD 并分配Exchange Online许可证。 在此方案中,将执行以下操作作为代理计算的结果:
使用 UPN 值在 proxyAddresses 属性中设置主 SMTP 地址。
使用主 SMTP 地址前缀填充 mailNickName 属性。
使用主 SMTP 地址填充邮件属性。
使用 mailNickName@initial 域的格式,在 proxyAddresses 属性中添加 MOERA 作为辅助 smtp 地址。
Azure AD 中对同步的用户对象设置了以下属性:
AAD:mail : user4upn@Contoso.com
AAD:mailNickName : user4upn
AAD:proxyAddresses : {smtp:user4upn@Contoso.onmicrosoft.com; SMTP:user4upn@Contoso.com}
AAD:userPrincipalName : user4upn@Contoso.com
然后,删除Exchange Online许可证,并执行以下操作作为代理计算的结果:
删除与 UPN 值对应的 proxyAddresses 属性中的主 SMTP 地址。
在 proxyAddresses 属性中将 MOERA 从辅助地址提升为主 SMTP 地址。
使用 proxyAddresses 属性中的主 SMTP 地址更新邮件属性 (MOERA) 。
AAD:mail : user4upn@Contoso.onmicrosoft.com
AAD:mailNickName : user4upn
AAD:proxyAddresses : {SMTP:user4upn@Contoso.onmicrosoft.com}
AAD:userPrincipalName : user4upn@Contoso.com
然后,在本地 proxyAddresses 属性中添加辅助 smtp 地址:
AD:mail : \<not set>
AD:mailNickName : \<not set>
AD:proxyAddresses : {smtp:user4new@Contoso.com}
AD:userPrincipalName : user4upn@Contoso.com
当对象同步到 Azure AD 时,将执行以下操作作为代理计算的结果:
在 proxyAddresses 属性中添加辅助 smtp 地址。
将 UPN 添加为 proxyAddresses 属性中的辅助 smtp 地址。
Azure AD 中针对同步用户对象设置的以下属性:
AAD:mail : user4upn@Contoso.onmicrosoft.com
AAD:mailNickName : user4upn
AAD:proxyAddresses : {smtp:user4upn@Contoso.com; smtp:user4new@Contoso.com; SMTP:user4upn@Contoso.onmicrosoft.com}
AAD:userPrincipalName : user4upn@Contoso.com
方案 5:mailNickName 属性值已更改
你创建了一个本地用户对象,该对象设置了以下属性:
AD:mail : \<not set>
AD:mailNickName : \<not set>
AD:proxyAddresses : {\<not set>}
AD:userPrincipalName : user5upn@Contoso.com
接下来,它将同步到 Azure AD 并分配Exchange Online许可证。 在此方案中,将执行以下操作作为代理计算的结果:
使用 UPN 值在 proxyAddresses 属性中设置主 SMTP 地址。
使用主 SMTP 地址前缀填充 mailNickName 属性。
使用主 SMTP 地址填充邮件属性。
使用 mailNickName@initial 域的格式,在 proxyAddresses 属性中添加 MOERA 作为辅助 smtp 地址。
Azure AD 中对同步的用户对象设置了以下属性:
AAD:mail : user5upn@Contoso.com
AAD:mailNickName : user5upn
AAD:proxyAddresses : {smtp:user5upn@Contoso.onmicrosoft.com; SMTP:user5upn@Contoso.com}
AAD:userPrincipalName : user5upn@Contoso.com
然后,将本地 mailNickName 属性的值更改为以下内容:
mail : \<not set>
AD:mailNickName : user5new1
AD:proxyAddresses : {\<not set>}
AD:userPrincipalName : user5upn@Contoso.com
在此方案中,将执行以下操作作为代理计算的结果:
使用与本地 mailNickName 属性相同的值更新 mailNickName 属性。
保持邮件属性不变。
使 proxyAddresses 属性保持不变。
Azure AD 中对同步的用户对象设置了以下属性:
AAD:mail : user5upn@Contoso.com
AAD:mailNickName : user5new1
AAD:proxyAddresses : {smtp:user5upn@Contoso.onmicrosoft.com; SMTP:user5upn@Contoso.com}
AAD:userPrincipalName : user5upn@Contoso.com
方案 6:两个用户具有相同的 mailNickName 属性
你创建了两个具有相同 mailNickName 值的本地用户对象:
AD:mail : \<not set>
AD:mailNickName : user6mnn
AD:proxyAddresses : {\<not set>}
AD:userPrincipalName : user6a@Contoso.com
AD:mail : \<not set>
AD:mailNickName : user6mnn
AD:proxyAddresses : {\<not set>}
AD:userPrincipalName : user6b@Contoso.com
接下来,它们将同步到Office 365并分配Exchange Online许可证。 在此方案中,将执行以下操作作为代理计算的结果:
使用 UPN 值在 proxyAddresses 属性中设置主 SMTP 地址。
使用与本地 mailNickName 属性相同的值填充 mailNickName 属性。
使用主 SMTP 地址填充邮件属性。
对于预配的第一个用户 - 使用格式mailNickName@initial域,将 MOERA 添加为 proxyAddresses 属性中的辅助 smtp 地址。
对于预配的第二个用户,MOERA 已被另一个对象使用 - 通过将 4 个随机数字追加到 mailNickName 作为前缀加上 @initial 域后缀,将 MOERA 添加为辅助 smtp 地址。
Azure AD 中对同步的用户对象设置了以下属性:
AAD:mail : user6a@Contoso.com
AAD:mailNickName : user6mnn
AAD:proxyAddresses : {smtp:user6mnn@Contoso.onmicrosoft.com; SMTP:user6a@Contoso.com}
AAD:userPrincipalName : user6a@Contoso.com
AAD:mail : user6b@Contoso.com
AAD:mailNickName : user6mnn
AAD:proxyAddresses : {smtp:user6mnn5236@Contoso.onmicrosoft.com; SMTP:user6b@Contoso.com}
AAD:userPrincipalName : user6b@Contoso.com
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 还可以向 Azure 社区支持提交产品反馈。