top of page
Writer's pictureMohammed Niyas

Exchange Server Migration from 2010 to 2016




1. Exchange Shell Commands to check Version of Exchange Server



[PS] C:\Windows\system32>Get-ExchangeServer | Format-List Name, Edition, AdminDisplayVersion


Name : E2010

Edition : StandardEvaluation

AdminDisplayVersion : Version 14.3 (Build 123.4)


2. Exchange Shell Commands to check Owa Virtual Directory namespace information


[PS] C:\Windows\system32>Get-OwaVirtualDirectory | Format-List


InternalUrl : https://mail.niyasitpro.com/OWA

ExternalUrl : https://mail.niyasitpro.com/OWA


3. Configuring Exchange Server Prerequisites - Run the following commands on powershell


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


4. Install .Net Framework 4.5 Prerequisites


http://support.microsoft.com/kb/2901907


5. Install Microsoft unified communications managed API c


http://go.microsoft.com/fwlink/p/?linkId=258269


6. Preparing Active Directory


setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms


setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms


setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms


7. Update Service Connection Point


Set-ClientAccessService -Identity E2016 -AutodiscoverServiceInternalURI https://autodiscover.niyasitpro.com/Autodiscover/Autodiscover.xml


8. Configure Exchange Server URL for Each virtual Directory (Copy and paste bellow in to a notepad and save as powershell file[filename.p1])


$Server = "ServerName"


$HTTPS_FQDN = "mail.domain.com"


Get-OWAVirtualDirectory -Server $Server | Set-OWAVirtualDirectory -InternalURL "https://$($HTTPS_FQDN)/owa" -ExternalURL "https://$($HTTPS_FQDN)/owa"


Get-ECPVirtualDirectory -Server $Server | Set-ECPVirtualDirectory -InternalURL "https://$($HTTPS_FQDN)/ecp" -ExternalURL "https://$($HTTPS_FQDN)/ecp"


Get-OABVirtualDirectory -Server $Server | Set-OABVirtualDirectory -InternalURL "https://$($HTTPS_FQDN)/oab" -ExternalURL "https://$($HTTPS_FQDN)/oab"


Get-ActiveSyncVirtualDirectory -Server $Server | Set-ActiveSyncVirtualDirectory -InternalURL "https://$($HTTPS_FQDN)/Microsoft-Server-ActiveSync" -ExternalURL "https://$($HTTPS_FQDN)/Microsoft-Server-ActiveSync"


Get-WebServicesVirtualDirectory -Server $Server | Set-WebServicesVirtualDirectory -InternalURL "https://$($HTTPS_FQDN)/EWS/Exchange.asmx" -ExternalURL "https://$($HTTPS_FQDN)/EWS/Exchange.asmx"


Get-MapiVirtualDirectory -Server $Server | Set-MapiVirtualDirectory -InternalURL "https://$($HTTPS_FQDN)/mapi" -ExternalURL https://$($HTTPS_FQDN)/mapi


9. Rename and Move Default Database

Get-MailboxDatabase -Server <Server> | Set-MailboxDatabase -Name DB01


Move-DatabasePath -Identity DB01 -EdbFilePath E:\ExchangeDatabases\DB01\DB01.EDB -LogFolderPath E:\ExchangeDatabases\DB01_Log


10. Updating Exchange Server 2010 virtual directory URLS (Copy and paste bellow in to a notepad and save as powershell file[filename.p1])


$Server = "E2010"


$HTTPS_FQDN = "mail.niyasitpro.com"


Get-OWAVirtualDirectory -Server $Server | Set-OWAVirtualDirectory -ExternalURL $null


Get-ECPVirtualDirectory -Server $Server | Set-ECPVirtualDirectory -ExternalURL $null


Get-OABVirtualDirectory -Server $Server | Set-OABVirtualDirectory -ExternalURL $null


Get-ActiveSyncVirtualDirectory -Server $Server | Set-ActiveSyncVirtualDirectory -ExternalURL $null


Get-WebServicesVirtualDirectory -Server $Server | Set-WebServicesVirtualDirectory -ExternalURL $null


Enable-OutlookAnywhere -Server $Server -ClientAuthenticationMethod Basic -SSLOffloading $False -ExternalHostName $HTTPS_FQDN -IISAuthenticationMethods NTLM, Basic


11. Move Mailbox Users from Exchange 2010 to Exchange 2016


Get-Mailbox -Database Mailbox1 | New-MoveRequest -TargetDatabase DB01 -BatchName DB01


Get-MoveRequest -BatchName "DB01" | Get-MoveRequestStatistics


13,797 views2 comments

2 Kommentare


Eko Hadi
Eko Hadi
10. Okt. 2023

what exchange 2016 version you use? because i try install exchange 2016 the forest functional level must 2008 R2 not 2008.

Gefällt mir

Abdul Waheed Khalaq
Abdul Waheed Khalaq
22. Juni 2020

Hello how can i know my receive connector is syncing if not how can i fix pls help me

Gefällt mir
bottom of page