企业上云的过程是漫长的,特别是对于大型企业。在上云过程中可能会出现各种状况,比如我之前遇到过这样一个需求:

本地多站点AD+Exchange环境,Exchange和21V的Office365做了混合部署,部署了ADFS用于SSO。逐步将Exchange用户迁移到Office365上,在上云的过程中该客户和另外一家公司合并成立了新公司,那么带来最直接的问题就是:公司域名全部做更换,主的邮箱地址使用新域名。

对于纯本地部署的Exchange来讲这些都是小问题,AD中增加UPN,Exchange中增加电子邮件地址策略,换个证书即可搞定这些需求。但是跟Office365做了混合部署,已经迁移到云上的用户怎么去更改主电子邮件地址呢?直接在本地AD中去修改用户UPN吗?

甲方的合理需求作为乙方的我们都是需要去满足的~我想到了以下几种方法(当然做这一系列操作的前提是已经在Office365中绑定了新域名,且将新域名转换为联合域名,并且在Exchange混合部署向导中增加新的域名混合):

1、本地AD中修改用户UPN,通过AAD Connect去覆盖云端用户信息

2、直接在Office365 admin center portal中去修改

很明显以上两种方法都失败了,原因如下:

1、当一个Exchange用户从本地Exchange Server迁移到Office365中去了之后,该用户属性直接变成Office365用户,虽然这个用户主体在本地AD中,但这时候这个用户中的Exchange信息已经修改不了,如果强行修改用户UPN然后同步,同步会直接报错,管理员每30分钟(取决于AAD同步频率)就会收到一封同步失败的邮件。

2、我们需要了解清楚的是,将Office365中的接受域转换成联合域名同时使用AAD Connect工具后同步到云端的账号所有的修改只能在本地AD中进行,在Office365上操作会提示管理员回到本地AD中去修改。

#我的测试环境目的是将[email protected]更改成[email protected]#

首先我们来看下第一种情况去修改本地AD用户UPN

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第1张图片

同时本地Exchange中新建电子邮件地址策略

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第2张图片

然后这个用户的邮件地址确实更改了

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第3张图片

然后让AAD Connect进行同步

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第4张图片

然后我们看下同步详细信息

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第5张图片

可以看出来old value和New value的变化,从AAD Connect的日志上看这个用户的确做了更新。那么有同学就会提问:你只是修改了UPN地址,修改用户的邮箱地址,这个用户的AD属性已经修改了啊就会在Office365上同步成功的啊。前面我已经说过了,已经迁移到Office365的Exchange用户会直接变成Office365用户,本地Exchange里面已经找不到这个用户了,怎么去做修改呢?总不能再做一次迁移吧,这个风险就变得不那么可控了。

所以我们来看看本地Exchang中已经迁移到Office365中的用户类型是怎么描述的

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第6张图片

管理员随后就会收到错误的同步邮件

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第7张图片

然后在Office365中查看用户信息

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第8张图片

这个用户的SMTP地址依然还是ucssi.cn,所以还是没有更改成功

所以第一种方案是行不通的。

 

然后我们进行第二种方案直接Office365上修改这个用户属性

然后我们就继续在Office365管理中心直接来操作更改用户的SMTP地址

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第9张图片

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第10张图片

尝试从Exchange Online管理中心去增加SMTP地址报错如下:

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第11张图片

可以看到直接去Office365中修改会毫无悬念的失败。

然后我请求了售后技术支持,很遗憾的是Office365售后工程师并没有解决我的问题。于是我开始自己研究,终于还是搞定了这个需求。下面就跟大家一起来分享下是如何实现的:

在本地AD中增加一个UPN后缀为Office365默认域名ucssicn.partner.onmschina.cn

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第12张图片

将需要更改到其他联合域名的用户UPN切换到刚刚添加的那个地址

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第13张图片

接下来在本地AD DC中打开命令行(管理员身份运行)执行以下同步命令(只有在多站点部署AD的情况下使用)

repadmin /syncall /a /p /e /d

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第14张图片

然后在AAD Connect服务器上做一次增量同步,增量同步命令如下:

start-ADSyncSyncCycle -PolicyType delta

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第15张图片

检查Office365 admin portal中该用户UPN已经更改

image.png

再次回到本地AD服务器上,将用户的UPN地址更改到and-sc.com联合域

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第16张图片

同时在本地Exchange Server上增加电子邮件地址策略并应用到刚刚创建的用户上

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第17张图片

再次执行AAD Connect增量同步,并查看同步日志

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第18张图片

可以看到先对原有的 SMTP:[email protected] 地址做了delete操作,然后又做了一个Add SMTP:[email protected] 操作。

接下来再次去office365 admin portal中和Exchange Online 管中心检查该用户的主SMTP地址是否更改为 [email protected]

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第19张图片

Office365之Exchange混合部署后更改已迁移到云上用户邮箱地址_第20张图片

到此就完成了将一个已经迁移到Office365的Exchage用户主要邮件地址更改的操作!