Exchange Server 2016迁移到2019

之前的Exchange Server 2016服务器操作系统是Windows Server 2016,升级到Windows Server 2019后收信不正常。通过Get-Queue | Get-Message | fl和Exchange Toolbox的队列查看器查看,邮件卡在队列里面,后来了解是Windows Server 2019不支持Exchange Server 2016;并且Exchange Server 2016不可以直接升级到Exchange Server 2019,只能重新部署Exchange Server 2019,然后进行迁移。

重新安装一台Windows Server 2019并且加入域,在新系统上面部署Exchange Server 2019

安装系统组件

Server 2016 / 2012 R2

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS

Server 2019

Install-WindowsFeature NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS

安装依赖环境

1. 安装.NET Framework 4.8
2. 安装Microsoft Unified Communications Managed API 4.0

安装Exchange Server 2019

运行安装程序进行安装

安装过程参考Exchange Server 2016(https://t2.re/archives/850/

注意,在迁移结束之前,不要删除和关闭Exchange 2016服务器

Exchange Server迁移

Exchange管理中心(EAC)

输入序列号
EAC-服务器-服务器
输入Exchange Server 2019序列号

重启服务Microsoft Exchange Information Store

Restart-Service MSExchangeIS

导入证书
EAC-服务器-证书
1. 导出Exchange Server 2016证书,导入Exchange Server 2019
2. 将导入的证书指派给服务

修改数据库名称和路径(可选)
EAC-服务器-数据库
1. 修改数据库名称
2. 设置数据库文件路径

Move-DatabasePath -Identity <数据库名称> -EdbFilePath X:\Folder\Database\Database-Name.edb -LogFolderPath L:\Folder\Log-Folder\

设置发送连接器
修改发送连接器,将Exchange Server 2019服务器加入发送连接器

迁移公用文件夹邮箱

Get-Mailbox -PublicFolder -Server <Exchange Server 2016计算机名> | New-MoveRequest -TargetDatabase <Exchange Server 2019数据库名称>

用户邮箱迁移
EAC-收件人-迁移
1. 新增,选择移到其他数据库
2. 选择需要迁移的账号
3. 输入新迁移批处理名称
4. 选择目标数据库
5. 错误项限制设置为99

使用命令查看迁移进度
Get-MoveRequest | Get-MoveRequestStatistics

系统邮箱迁移
执行命令
Set-AdServerSettings -ViewEntireForest $true

迁移审计日志邮箱
查看邮箱

Get-Mailbox -AuditLog -Database <Exchange Server 2016数据库名称>

如果上一步可以看到结果,执行以下命令

Get-Mailbox -AuditLog -Database <Exchange Server 2016数据库名称> | New-MoveRequest -TargetDatabase <Exchange Server 2019数据库名称>

使用命令查看迁移进度
Get-MoveRequest | Get-MoveRequestStatistics

迁移仲裁日志邮箱
查看邮箱

Get-Mailbox -AuditLog -Database <Exchange Server 2016数据库名称> -Arbitration

如果上一步可以看到结果,执行以下命令

Get-Mailbox -AuditLog -Database <Exchange Server 2016数据库名称> -Arbitration | New-MoveRequest -TargetDatabase <Exchange Server 2019数据库名称>

使用命令查看迁移进度
Get-MoveRequest | Get-MoveRequestStatistics

迁移监控日志邮箱
查看邮箱

Get-Mailbox -Monitoring -Server <Exchange Server 2016计算机名>

如果上一步可以看到结果,执行以下命令

Get-Mailbox -Monitoring -Server <Exchange Server 2016计算机名> | New-MoveRequest -TargetDatabase <Exchange Server 2019数据库名称>

使用命令查看迁移进度
Get-MoveRequest | Get-MoveRequestStatistics

迁移存档邮箱
查看是否有存档邮箱

Get-Mailbox -Auditlog -Database "Mailbox Database 0296359306" -Archive

如果有,进行迁移

Get-Mailbox DiscoverySearchMailbox* | New-MoveRequest -TargetDatabase <Exchange Server 2019数据库名称>

使用命令查看迁移进度
Get-MoveRequest | Get-MoveRequestStatistics

删除旧版本

删除Exchange Server 2016数据库

Get-MailboxDatabase -Identity <Exchange Server 2016数据库名称> | Remove-MailboxDatabase

卸载Exchange Server 2016

cd "C:\Program Files\Microsoft\Exchange Server\V15\Bin"
setup.exe /mode:uninstall

tips:
Exchange Server 2019自动发现直接把autodiscover域名绑定到IIS的Default Web Site即可

EAC-服务器-服务器-Outlook Anywhere
外部域名需要设置

EAC-服务器-虚拟目录
检查各服务对应的URL是否正确

建议将之前的A记录改成CNAME到现有服务器(如果之前的域名还有在用的话)

参考:
https://www.petenetlive.com/KB/Article/0001472
https://rdr-it.com/en/exchange-2013-2016-migrate-to-exchange-2019/