Forum Discussion
Navishkar Sadheo
Apr 28, 2020Steel Contributor
Exchange 2010 upgrade to Exchange 2016
Hi All
Hope everyone is well and staying safe.
I needed some advice.
I currently have an Exchange 2010 hybrid implementation. I need to upgrade to Exchange Server 2016.
Can anyone share any advice or best practices?
Appreciate any advice.
I would say to ensure that any Exchange 2010 servers that you have in your environment need to be fully service packed and up to date before you install your Exchange 2016 server and update your hybrid configuration.
You will need to install the prerequisites for Exchange 2016 on your server which include running the following in PowerShell;
Install-WindowsFeature NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, 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
Install the Microsoft Unified Communications Managed Api 4.0 on the Exchange 2016 server from -
https://www.microsoft.com/en-gb/download/details.aspx?id=34992
Install the Microsoft Visual C++ 2013 redistributable (x64) on the Exchange 2016 server from - https://www.microsoft.com/en-gb/download/details.aspx?id=40784
Install the .Net 4.7.2 framework onto the Exchange 2016 server from - https://dotnet.microsoft.com/download/dotnet-framework/net472
Next, you need to extend your AD schema for the Exchange 2016 attributes. This is done as follows;
Connect to Exchange Online PowerShell as below;
$Cred=GET-CREDENTIAL
$s = NEW-PSSESSION -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $Cred -Authentication Basic -AllowRedirection
$importresults=import-pssession $s
Export the tenantconfig.xml file by running the following;
Get-OrganizationConfig | Export-Clixml -Path TenantConfig.XML
Next, prepare the schema as below - setting the folder path to where you saved the xml file.,
./Setup.exe /PrepareAD /TenantOrganizationConfig c:\temp\TenantConfig.xml /IAcceptExchangeServerLicenseTerms
Then, prepare the domains
./Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseterms
Export the public SSL cert from your Exchange 2016 onto your Exchange 2016 server
Then you can run the Exchange server installation setup wizard. Once complete, logon to the Exchange Admin Centre and import the SSL cert and bind to the requires services.
Set the virtual directories and the client access service.
Reboot the server.
Now you can re-run the hybrid configuration wizard and update your hybrid config for Exchange 2016.
Job done!
I would say to ensure that any Exchange 2010 servers that you have in your environment need to be fully service packed and up to date before you install your Exchange 2016 server and update your hybrid configuration.
You will need to install the prerequisites for Exchange 2016 on your server which include running the following in PowerShell;
Install-WindowsFeature NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, 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
Install the Microsoft Unified Communications Managed Api 4.0 on the Exchange 2016 server from -
https://www.microsoft.com/en-gb/download/details.aspx?id=34992
Install the Microsoft Visual C++ 2013 redistributable (x64) on the Exchange 2016 server from - https://www.microsoft.com/en-gb/download/details.aspx?id=40784
Install the .Net 4.7.2 framework onto the Exchange 2016 server from - https://dotnet.microsoft.com/download/dotnet-framework/net472
Next, you need to extend your AD schema for the Exchange 2016 attributes. This is done as follows;
Connect to Exchange Online PowerShell as below;
$Cred=GET-CREDENTIAL
$s = NEW-PSSESSION -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $Cred -Authentication Basic -AllowRedirection
$importresults=import-pssession $s
Export the tenantconfig.xml file by running the following;
Get-OrganizationConfig | Export-Clixml -Path TenantConfig.XML
Next, prepare the schema as below - setting the folder path to where you saved the xml file.,
./Setup.exe /PrepareAD /TenantOrganizationConfig c:\temp\TenantConfig.xml /IAcceptExchangeServerLicenseTerms
Then, prepare the domains
./Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseterms
Export the public SSL cert from your Exchange 2016 onto your Exchange 2016 server
Then you can run the Exchange server installation setup wizard. Once complete, logon to the Exchange Admin Centre and import the SSL cert and bind to the requires services.
Set the virtual directories and the client access service.
Reboot the server.
Now you can re-run the hybrid configuration wizard and update your hybrid config for Exchange 2016.
Job done!
- aussupportBrass Contributor
PeterRising Hi Peter,
Can you please give bit more information regarding followings steps?
1. Set the virtual directories and the client access service.
2. Now you can re-run the hybrid configuration wizard and update your hybrid config for Exchange 2016. ( Run from 2016 Server?)
3. Move the arbitration mailbox and other system mailboxes from Exchange 2010 to Exchange 2016.
4. Create receive connector in Exchange 2016 for SMTP relay. ( When we run HCW will not create?)
5. Do i need to run the AAD Connect tool too for AD Attribute changes?
TA
- dhagelCopper Contributor
aussupport I found this article helpful when I did the conversion. I know it's kinda late for you, but hopefully it will work for someone stumbling across this post.
https://www.c-sharpcorner.com/article/hybrid-exchange-2010-to-hybrid-exchange-2016-part-one/
- Navishkar SadheoSteel Contributor
PeterRising - You are awesome!!
Just a question....
So running setup.exe /prepareAD or /preparealldomains doesn't actually install Exchange server 2016?
I still need to run the setup.exe after I run those switches above?
Also...is it really necessary to /preparealldomains seeing as I only have one domain?
You are most welcome, Happy to help.
Correct, those commands do not actually install Exchange 2016, you need to run the setup.exe to run the full install wizard.
And yes, I would recommend running the /preparealldomains command regardless of how many domains you have.
Do let me know how you get on with this.
I would say to ensure that any Exchange 2010 servers that you have in your environment need to be fully service packed and up to date before you install your Exchange 2016 server and update your hybrid configuration.
You will need to install the prerequisites for Exchange 2016 on your server which include running the following in PowerShell;
Install-WindowsFeature NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, 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
Install the Microsoft Unified Communications Managed Api 4.0 on the Exchange 2016 server from -
https://www.microsoft.com/en-gb/download/details.aspx?id=34992
Install the Microsoft Visual C++ 2013 redistributable (x64) on the Exchange 2016 server from - https://www.microsoft.com/en-gb/download/details.aspx?id=40784
Install the .Net 4.7.2 framework onto the Exchange 2016 server from - https://dotnet.microsoft.com/download/dotnet-framework/net472
Next, you need to extend your AD schema for the Exchange 2016 attributes. This is done as follows;
Connect to Exchange Online PowerShell as below;
$Cred=GET-CREDENTIAL
$s = NEW-PSSESSION -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $Cred -Authentication Basic -AllowRedirection
$importresults=import-pssession $s
Export the tenantconfig.xml file by running the following;
Get-OrganizationConfig | Export-Clixml -Path TenantConfig.XML
Next, prepare the schema as below - setting the folder path to where you saved the xml file.,
./Setup.exe /PrepareAD /TenantOrganizationConfig c:\temp\TenantConfig.xml /IAcceptExchangeServerLicenseTerms
Then, prepare the domains
./Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseterms
Export the public SSL cert from your Exchange 2010 onto your Exchange 2016 server
Then you can run the Exchange server installation setup wizard. Once complete, logon to the Exchange Admin Centre and import the SSL cert and bind to the required services.
Set the virtual directories and the client access service.
Reboot the server.
Now you can re-run the hybrid configuration wizard and update your hybrid config for Exchange 2016.
Job done!