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

准备环境

服务器

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 2007升级AD架构 exchange2010升级2016_Server

切换到Exchange 2010

  • 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 2007升级AD架构 exchange2010升级2016_Server_02

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_03

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_04

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_05

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

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

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_06

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

Exchange Server 2007升级AD架构 exchange2010升级2016_服务器_07

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

Exchange Server 2007升级AD架构 exchange2010升级2016_服务器_08

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_09

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

Exchange Server 2007升级AD架构 exchange2010升级2016_服务器_10

还是在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 2007升级AD架构 exchange2010升级2016_Web_11

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_12

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

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Web_13

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

Exchange Server 2007升级AD架构 exchange2010升级2016_服务器_14

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Web_15

指定要保存证书的路径。

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_16

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_17

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_18

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_19

准备服务切换

做完了以上准备工作之后,我们开始切换服务。我们将更新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 2007升级AD架构 exchange2010升级2016_Server_20

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

Exchange Server 2007升级AD架构 exchange2010升级2016_服务器_21

双击mail。

Exchange Server 2007升级AD架构 exchange2010升级2016_Web_22

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

Exchange Server 2007升级AD架构 exchange2010升级2016_服务器_23

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

打开Exchange Management Shell,输入IPConfig /flushdns

Exchange Server 2007升级AD架构 exchange2010升级2016_Web_24

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Web_25

邮箱迁移

打开游览器,输入邮箱登录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 2007升级AD架构 exchange2010升级2016_服务器_26

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Web_27

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Server_28

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Web_29

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

Exchange Server 2007升级AD架构 exchange2010升级2016_服务器_30

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Web_31

Exchange Server 2007升级AD架构 exchange2010升级2016_服务器_32

等待迁移完成。

Exchange Server 2007升级AD架构 exchange2010升级2016_服务器_33

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

Exchange Server 2007升级AD架构 exchange2010升级2016_Web_34