SOLVED

Exchange 2010 upgrade to Exchange 2016

Steel Contributor

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.

6 Replies

@Navishkar Sadheo 

 

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!

 

 

 

 

 

 

 

best response confirmed by Navishkar Sadheo (Steel Contributor)
Solution

@Navishkar Sadheo 

 

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!

@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?

@Navishkar Sadheo 

 

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.

@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 

@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/ 

1 best response

Accepted Solutions
best response confirmed by Navishkar Sadheo (Steel Contributor)
Solution

@Navishkar Sadheo 

 

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!

View solution in original post