Exchange Server 2010升级到Exchange Server 2016

时间:2022-03-05 23:39:21

Hello各位小伙伴们,失踪人口回归啦~~~这次和大家分享Exchange Server 2010升级到Exchange Server 2016的方法。正式开始前先啰嗦几句,为什么我要写这篇文章呢?一方面有客户有exchange 服务器升级的需求,另一方面,如果客户使用的21V世纪互联运营的Office 365并且邮箱要做混合部署的话,也需要把本地已有的Exchange服务器升级到2013版本或者以上。考虑到这两个方面,我打算为大家分享本地Exchange服务器升级的方法。

  1. 准备环境

服务器

Exchange Server 2010

Exchange Server 2016

域控服务器DC

在进行升级之前,我们需要对目前已有的环境作相应的配置。我们需要配置默认脱机通讯簿,创建用于将Exchange 2010升级到Exchange 2016的管理员帐户。

在域控服务器上,以管理员的身份运行Powershell,依次运行以下命令行来重置授权状态:

  • Restart-Service CertSvc
  • slmgr -rearm
  • slmgr EX2010 -rearm
  • slmgr EX2016 -rearm

Exchange Server 2010升级到Exchange Server 2016

切换到Exchange 2010 ,以Exchange管理员的身份登录,打开Exchange Management Shell,依次运行以下的命令行:

  • Get-OfflineAddressBook
  • Get-MailboxDatabase | Format-Table Name, Server, OfflineAddressBook -Auto
  • Get-MailboxDatabase | Set-MailboxDatabase -OfflineAddressBook "Default Offline Address Book"

//这条命令将验证EX2010服务器上的每个邮箱数据库都分配了默认脱机通讯簿。 这些步骤将在安装Exchange 2016之前完成。由于我们的主题是升级EX2010到EX2016,所以我提前已经安装好了Exchange 2016。

  • Get-MailboxDatabase | Format-Table Name, Server, OfflineAddressBook -Auto

Exchange Server 2010升级到Exchange Server 2016

以Exchange管理员的身份登录Exchange 2016。由于此时我们处于EX2010和EX2016共存的状态,管理员帐户不处于Exchange 2016中的数据库中,因此我们必须使用特定的URL,将管理员路由到Exchange 2016管理中心。打开游览器,输入特定的URL,这里我们输入Exchange 2016登录URL https://EX2016/ecp?ExchClientVer=15登录Exchange 2016管理员中心。

Exchange Server 2010升级到Exchange Server 2016

在收件人(Recipients)功能下,单击新建用户邮箱,在这里我们的取名为Upgrade Admin。

Exchange Server 2010升级到Exchange Server 2016

点击权限(permissions),在角色组下添加我们刚刚创建的用户Upgrade Admin

Exchange Server 2010升级到Exchange Server 2016

创建了新的Exchange管理员账户之后,我们还需要做以下几个准备工作:

  • 为新Exchange Server 2016服务器添加和更新内部和外部URL
  • 更新Exchange Server 2010 URL
  • 为新的Exchange组织申请证书

使用Upgrade Admin登录exchange 2016,点击服务器(Server),选择EX2016,点击编辑。

Exchange Server 2010升级到Exchange Server 2016

指定外部主机名称框中,在这里我们统一内外部主机名称均为mail.Contoso.local,指定外部客户端登录组织的验证方式,这里我们选择NTLM,点击Save保存更改。

Exchange Server 2010升级到Exchange Server 2016

单击虚拟目录(virtual directories)选项卡,点击配置。输入外部客户端访问服务器使用的域名,这里我们键入mail.Contoso.local,然后单击保存,这将为所有Exchange 2016虚拟目录配置外部URL。

Exchange Server 2010升级到Exchange Server 2016

在工具栏上面,筛选服务器为EX2016,系统将列出和EX2016相关的所有目录。

Exchange Server 2010升级到Exchange Server 2016

双击owa (Default Web Site),我们发现外部URL已经被配置成为刚刚所设置的URL。

Exchange Server 2010升级到Exchange Server 2016

还是在EX2016的环境,我们启动Exchange Management Shell,依次运行以下命令符。

  • $HostName = "EX2016"

//根据外部URL上设置的值设置内部URL

  • Set-EcpVirtualDirectory "$HostName\ECP (Default Web Site)" -InternalUrl ((Get-EcpVirtualDirectory "$HostName\ECP (Default Web Site)").ExternalUrl)
  • Set-WebServicesVirtualDirectory "$HostName\EWS (Default Web Site)" -InternalUrl ((Get-WebServicesVirtualDirectory "$HostName\EWS (Default Web Site)").ExternalUrl)
  • Set-ActiveSyncVirtualDirectory "$HostName\Microsoft-Server-ActiveSync (Default Web Site)" -InternalUrl ((Get-ActiveSyncVirtualDirectory "$HostName\Microsoft-Server-ActiveSync (Default Web Site)").ExternalUrl)
  • Set-OabVirtualDirectory "$HostName\OAB (Default Web Site)" -InternalUrl ((Get-OabVirtualDirectory "$HostName\OAB (Default Web Site)").ExternalUrl)
  • Set-OwaVirtualDirectory "$HostName\OWA (Default Web Site)" -InternalUrl ((Get-OwaVirtualDirectory "$HostName\OWA (Default Web Site)").ExternalUrl)
  • Set-PowerShellVirtualDirectory "$HostName\PowerShell (Default Web Site)" -InternalUrl ((Get-PowerShellVirtualDirectory "$HostName\PowerShell (Default Web Site)").ExternalUrl)

//配置OAB

  • Get-OfflineAddressBook | Where {$_.ExchangeVersion.ExchangeBuild.Major -Eq 15} | Set-OfflineAddressBook -GlobalWebDistributionEnabled $True -VirtualDirectories $Null

Exchange Server 2010升级到Exchange Server 2016

我们运行完了这些命令后,可以返回Exchange 管理员中心,可以看到内外部URL已经设置为一样的值了。

Exchange Server 2010升级到Exchange Server 2016

新建(New)一个Exchange证书, 为证书命名,在这里我们命名为Exchange Services点击下一步。

确保没有选中"请求通配符证书",然后单击下一步。

Exchange Server 2010升级到Exchange Server 2016

选择证书需要安装的组织EX2016,点击下一步。

Exchange Server 2010升级到Exchange Server 2016

在证书列表中查看你想要包含的域,单击下一步,进入域编辑器Domain Editor。在"域编辑器"窗口中的"域名"框中,键入你要添加的域,这里我们写如EX2010.Contoso.local,然后单击"确定"。

Exchange Server 2010升级到Exchange Server 2016

指定要保存证书的路径。

Exchange Server 2010升级到Exchange Server 2016

这里我们省略申请CA证书的步骤。Exchange 服务器可以使用自签名的证书,或者第三方权威机构颁发的证书,这里我们推荐大家申请后者,如果要与Office 365混合部署的话,则需要第三方权威机构颁发的证书。申请好证书后,在状态栏点击完成(Complete)导入证书。

Exchange Server 2010升级到Exchange Server 2016

在Exchange证书界面,导入我们刚刚申请好的证书,点击确认。双击进入exchange service,你可以查看证书相关信息。

Exchange Server 2010升级到Exchange Server 2016

点击"services"服务,勾选SMTPandIIS,点击保存。

Exchange Server 2010升级到Exchange Server 2016

  1. 准备服务切换

做完了以上准备工作之后,我们开始切换服务。我们将更新Exchange 2010和Exchange 2016服务器的服务连接点(service connection points),更新DNS 记录,将DNS记录指向Exchange Server 2016,并验证组织内部的邮件流。我们将配置运行在新的Exchange server 2016上的Outlook Anywhere 以及客户端验证(Client Authentication)。

在Exchange 2010环境下,打开Exchange Management Shell,依次运行以下命令符。

//设置Outlook Anywhere 参数

  • Set-OutlookAnywhere "EX2010\RPC (Default Web Site)" -ClientAuthenticationMethod Basic -SSLOffloading $False -ExternalHostName mail.Contoso.local -IISAuthenticationMethods NTLM, Basic

//设置Autodiscover内部URI

  • Set-ClientAccessServer -Identity EX2010 -AutoDiscoverServiceInternalUri https://autodiscover.Contoso.local/Autodiscover/Autodiscover.xml

//重新设置IIS

  • IISReset

在Exchange 2016环境下,打开Exchange Management Shell,依次运行以下命令符。

//设置Autodiscover内部URI

//重新设置IIS

  • IISReset

返回域控服务器,打开服务器管理Server Manager console,右上角点击工具(Tools),选择DNS。

Exchange Server 2010升级到Exchange Server 2016

在DNS管理员下,点击Forward Lookup Zones,选择Contoso.local。

Exchange Server 2010升级到Exchange Server 2016

双击mail。

Exchange Server 2010升级到Exchange Server 2016

更新IP地址,这将把来自mail.contoso.local的请求导向Exchange Server 2016。
Exchange Server 2010升级到Exchange Server 2016

做完了以上步骤,我们回到EX2010刷新DNS。

打开Exchange Management Shell,输入IPConfig /flushdns

Exchange Server 2010升级到Exchange Server 2016

在EX2016也做同样的事情,刷新DNS。打开Exchange Management Shell,输入IPConfig /flushdns

Exchange Server 2010升级到Exchange Server 2016

  1. 邮箱迁移

打开游览器,输入邮箱登录URL,输入用户名和密码之后,可以看到用户是登录到Exchange 2010的Outlook Web App ,这是因为用户邮箱目前还位于Exchange 2010 邮箱数据库中。我们需要把位于Exchange server2010的邮箱迁移到Exchange 2016。

打开Exchange server 2016 Exchange Management Shell,运行以下命令符,验证邮箱数据库内容索引状态。

  • Get-MailboxDatabaseCopyStatus

确保在ContentIndexState列上,状态显示为Healthy。如果显示为Failed或者 Suspended,我们需要运行以下命令符。

  • $MDBName = Get-MailboxDatabase -Server EX2016

//停止Exchange搜索服务

  • Stop-Service MSExchangeFastSearch

//停止Host Controller Service

  • Stop-Service HostControllerService

//创建一个可用于存放索引的位置

  • $IndexFolder = Get-ChildItem -Path "C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\$MDBName" | Where-Object {($_.PSIsContainer) -and ($_.Name -like "*.Single")}

//移除索引文件夹

  • Remove-Item "C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\$MDBName\$IndexFolder" -Force -Recurse

//重新开启Exchange 搜索服务

  • Start-Service MSExchangeFastSearch

//重新开启ost Controller Service

  • Start-Service HostControllerService

运行完成之后,我们接着输入以下命令符:

//创建一个新的迁移请求

  • New-MoveRequest -Identity Administrator -TargetDatabase (Get-MailboxDatabase -Server EX2016).Name

//验证迁移请求

  • Get-MoveRequest

//移除迁移请求

  • Get-MoveRequest | Remove-MoveRequest

Exchange Server 2010升级到Exchange Server 2016

打开游览器,输入https://mail.Contoso.local/ecp进入Exchange 2016管理中心。以管理员的身份登录,点击迁移(Migration)。在工具栏上,点击New新建一个迁移请求,选择Move to a different database。选择位于Exchange server 2010的用户,点击Add添加。

Exchange Server 2010升级到Exchange Server 2016

添加好之后,点击下一步。

Exchange Server 2010升级到Exchange Server 2016

为迁移批次命名,选择归档规则以及目标数据库。这里我们选择Exchange server 2016作为我们的目标数据库。

Exchange Server 2010升级到Exchange Server 2016

指定迁移完成后,接收迁移报告的对象。

Exchange Server 2010升级到Exchange Server 2016

我们可以查看迁移的进度,点击View Details查看详情。

Exchange Server 2010升级到Exchange Server 2016

Exchange Server 2010升级到Exchange Server 2016

等待迁移完成。

Exchange Server 2010升级到Exchange Server 2016

登录原本位于exchange 2010的邮箱SaraD,此时我们可以看到,SaraD的邮箱已经位于Exchange 2016,迁移完成。

Exchange Server 2010升级到Exchange Server 2016