Exchange 2010与2016共存部署安装报错及损坏仲裁邮箱修复方案咨询
老哥,我太懂你现在的糟心了——装Exchange 2016卡在第7步运输服务报错,回头查还发现Exchange 2010里一堆仲裁邮箱挂在已经停用的Mail-EX02服务器上,这种新旧环境衔接的坑真的能让人头大。先给你捋清楚问题根源,再给你靠谱的解决方案:
问题根源
你看到的Exchange 2016安装报错,核心原因是那些仲裁邮箱(SystemMailbox、FederatedEmail、DiscoverySearchMailbox)的ServerName指向了已不存在的Mail-EX02,导致它们的数据库属性失效,触发了Database is mandatory in UserMailbox的验证错误,进而让Update-RmsSharedIdentity命令执行失败。
方案对比与推荐
绝对不推荐直接删除重建仲裁邮箱——这些邮箱是Exchange的核心「后台角色」,负责邮件流、合规搜索、联合身份验证等关键功能,直接删除在100用户的生产环境里很容易出意外,修复起来反而更麻烦。
更稳妥的做法是修复这些损坏仲裁邮箱的属性,把它们迁移到现有Mail-EX01的有效数据库中,步骤如下:
步骤1:连接Exchange 2010 PowerShell
先在Mail-EX01上打开Exchange Management Shell,或者远程连接:
# 远程连接(如果不在Mail-EX01本地操作) $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://Mail-EX01.contoso.com/PowerShell/ -Authentication Kerberos Import-PSSession $Session
步骤2:迁移损坏的仲裁邮箱到有效数据库
先确认Mail-EX01上的有效数据库名称(比如Mailbox Database 0123456789),然后执行以下命令逐个迁移:
# 迁移第一个SystemMailbox Get-Mailbox -Arbitration "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}" | New-MoveRequest -TargetDatabase "你的Mail-EX01数据库名" # 迁移第二个SystemMailbox Get-Mailbox -Arbitration "SystemMailbox{1f05a927-43f2-4459-9ea1-31ee79fcf789}" | New-MoveRequest -TargetDatabase "你的Mail-EX01数据库名" # 迁移联合身份验证邮箱 Get-Mailbox -Arbitration "FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042" | New-MoveRequest -TargetDatabase "你的Mail-EX01数据库名" # 迁移合规搜索邮箱 Get-Mailbox -Arbitration "DiscoverySearchMailbox{D919BA05-46A6-415f-80AD-7E09334BB852}" | New-MoveRequest -TargetDatabase "你的Mail-EX01数据库名"
步骤3:验证迁移结果
等待迁移完成(可以用Get-MoveRequest查看状态),然后执行以下命令确认所有仲裁邮箱都已关联到Mail-EX01:
Get-Mailbox -Arbitration | Format-Table Name, ServerName, Database -Auto
确保所有邮箱的ServerName显示为Mail-EX01,Database指向你指定的有效数据库。
步骤4:重新运行Exchange 2016安装程序
现在再回到Exchange 2016的安装步骤,应该就能顺利通过第7步的运输服务安装了。
备选方案:手动修改AD属性(如果迁移失败)
如果迁移请求报错,说明邮箱属性损坏比较严重,可以直接修改AD中的用户属性:
- 打开AD用户和计算机,点击顶部菜单的「查看」→ 勾选「高级功能」。
- 找到这些仲裁邮箱对应的用户对象(在
Users容器下),右键选择「属性」→ 切换到「属性编辑器」标签。 - 修改以下两个属性:
homeMDB:设置为Mail-EX01上有效数据库的DN(可以通过Get-MailboxDatabase "数据库名" | Select-Object DistinguishedName获取)。msExchHomeServerName:设置为Mail-EX01服务器的DN(可以通过Get-ExchangeServer Mail-EX01 | Select-Object DistinguishedName获取)。
- 保存后等待AD复制完成,再回到Exchange中验证邮箱状态。
注意事项
- 操作前一定要备份Exchange 2010的数据库和AD,生产环境容不得半点马虎。
- 迁移邮箱时确保目标数据库有足够的存储空间。
- 修复完成后,建议重启Mail-EX01上的
Microsoft Exchange Information Store服务,确保属性生效。
备注:内容来源于stack exchange,提问作者Luigi

