Forum Discussion

Navishkar Sadheo's avatar
Navishkar Sadheo
Steel Contributor
Apr 28, 2020

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.

  • 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!

  • 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!

    • aussupport's avatar
      aussupport
      Brass 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 

    • Navishkar Sadheo's avatar
      Navishkar Sadheo
      Steel 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?

      • PeterRising's avatar
        PeterRising
        MVP

        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.

  • 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!

     

     

     

     

     

     

     

Resources