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 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管理員的身份登錄Exchange 2016。由於此時我們處於EX2010和EX2016共存的狀態,管理員帳戶不處於Exchange 2016中的數據庫中,因此我們必須使用特定的URL,將管理員路由到Exchange 2016管理中心。打開游覽器,輸入特定的URL,這里我們輸入Exchange 2016登錄URL https://EX2016/ecp?ExchClientVer=15登錄Exchange 2016管理員中心。
在收件人(Recipients)功能下,單擊新建用戶郵箱,在這里我們的取名為Upgrade Admin。
點擊權限(permissions),在角色組下添加我們剛剛創建的用戶Upgrade Admin。
創建了新的Exchange管理員賬戶之后,我們還需要做以下幾個准備工作:
- 為新Exchange Server 2016服務器添加和更新內部和外部URL
- 更新Exchange Server 2010 URL
- 為新的Exchange組織申請證書
使用Upgrade Admin登錄exchange 2016,點擊服務器(Server),選擇EX2016,點擊編輯。
指定外部主機名稱框中,在這里我們統一內外部主機名稱均為mail.Contoso.local,指定外部客戶端登錄組織的驗證方式,這里我們選擇NTLM,點擊Save保存更改。
單擊虛擬目錄(virtual directories)選項卡,點擊配置。輸入外部客戶端訪問服務器使用的域名,這里我們鍵入mail.Contoso.local,然后單擊保存,這將為所有Exchange 2016虛擬目錄配置外部URL。
在工具欄上面,篩選服務器為EX2016,系統將列出和EX2016相關的所有目錄。
雙擊owa (Default Web Site),我們發現外部URL已經被配置成為剛剛所設置的URL。
還是在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 管理員中心,可以看到內外部URL已經設置為一樣的值了。
新建(New)一個Exchange證書, 為證書命名,在這里我們命名為Exchange Services ,點擊下一步。
確保沒有選中"請求通配符證書",然后單擊下一步。
選擇證書需要安裝的組織EX2016,點擊下一步。
在證書列表中查看你想要包含的域,單擊下一步,進入域編輯器Domain Editor。在"域編輯器"窗口中的"域名"框中,鍵入你要添加的域,這里我們寫如EX2010.Contoso.local,然后單擊"確定"。
指定要保存證書的路徑。
這里我們省略申請CA證書的步驟。Exchange 服務器可以使用自簽名的證書,或者第三方權威機構頒發的證書,這里我們推薦大家申請后者,如果要與Office 365混合部署的話,則需要第三方權威機構頒發的證書。申請好證書后,在狀態欄點擊完成(Complete)導入證書。
在Exchange證書界面,導入我們剛剛申請好的證書,點擊確認。雙擊進入exchange service,你可以查看證書相關信息。
點擊"services"服務,勾選SMTPandIIS,點擊保存。
-
准備服務切換
做完了以上准備工作之后,我們開始切換服務。我們將更新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
- Set-ClientAccessService -Identity EX2016 -AutoDiscoverServiceInternalUri https://autodiscover.Contoso.local/Autodiscover/Autodiscover.xml
//重新設置IIS
- IISReset
返回域控服務器,打開服務器管理Server Manager console,右上角點擊工具(Tools),選擇DNS。
在DNS管理員下,點擊Forward Lookup Zones,選擇Contoso.local。
雙擊mail。
更新IP地址,這將把來自mail.contoso.local的請求導向Exchange Server 2016。
做完了以上步驟,我們回到EX2010刷新DNS。
打開Exchange Management Shell,輸入IPConfig /flushdns
在EX2016也做同樣的事情,刷新DNS。打開Exchange Management Shell,輸入IPConfig /flushdns
-
郵箱遷移
打開游覽器,輸入郵箱登錄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
打開游覽器,輸入https://mail.Contoso.local/ecp進入Exchange 2016管理中心。以管理員的身份登錄,點擊遷移(Migration)。在工具欄上,點擊New新建一個遷移請求,選擇Move to a different database。選擇位於Exchange server 2010的用戶,點擊Add添加。
添加好之后,點擊下一步。
為遷移批次命名,選擇歸檔規則以及目標數據庫。這里我們選擇Exchange server 2016作為我們的目標數據庫。
指定遷移完成后,接收遷移報告的對象。
我們可以查看遷移的進度,點擊View Details查看詳情。
等待遷移完成。
登錄原本位於exchange 2010的郵箱SaraD,此時我們可以看到,SaraD的郵箱已經位於Exchange 2016,遷移完成。