In this blog, we will discuss how to migrate from Exchange server 2007 to Exchange server 2013 and after migration how to uninstall/decommission the Exchange server 2007.
The general steps to migrate from Exchange server 2007 to 2013 are:
- Deploying Exchange server 2013 as new environment
- Configuring Digital Certificates for the new Exchange server
- Configuring Name Space and Virtual Directories
- Offline Address Book (OAB) configuration
- Mail Flow Configurations
- Moving Client Access to Exchange server 2013
- Moving Mailboxes to Exchange server 2013
- Moving Public Folders to Exchange server 2013 and
- Decommission Exchange Server 2007
1. Deploying Exchange server 2013 as new environment
Active Directory Preparation
When we install Exchange Server we have to store User mailboxes and Exchange Server configuration information in the organization. So it’s important that Active Directory is duly prepared before you install Exchange 2013 in the organization. Before you deploy Exchange Server 2013 in the environment, below mention following things need to be done:
- Extend Active Directory Schema
- Prepare Active Directory
- Prepare Active Directory Domains
To ensure that AD preparation is done correctly, verify that the Range-Upper property on ms-Exch-Schema-Version-Pt is set to the correct value.
After this force AD replication.
Exchange Server 2013 Installation
Before installing Exchange Server setup ensure that server is fully updated with latest patches. To install Windows Features using PowerShell Run Windows PowerShell as Administrator and paste the following command:
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
One the installation is completed restart your server. After reboot, download and install Microsoft Unified Communications Managed API 4.0. Core Runtime 64-bit, Microsoft Office 2010 Filter Packs 64 bit, Microsoft Office 2010 Filter Packs SP1 64 bit.
2. Configuring Digital Certificates
As we know the by default, Exchange server comes with self-signed certificates; and we have to replace this certificates with the ones most relevant to our.
mail.contoso.com: FQDN for most connections to Exchange including Microsoft Outlook, Outlook Web App, Outlook Anywhere, the Offline Address Book, Exchange Web Services, POP3, IMAP4, SMTP, Exchange Control Panel, and ActiveSync.
autodiscover.contoso.com: FQDN used by clients that support Auto discover, including Microsoft Office Outlook 2007 and later versions, Exchange ActiveSync and Exchange Web Services clients.
legacy.contoso.com: FQDN used by all external and internal clients for old server i.e. Exchange Server 2007.
After this we have to create certificate request, to do this open EMS and run the New-ExchangeCertificate
cmdlet command.
When the certificate is created, make sure it is signed by the appropriate certification authority (CA) and then use the Import-ExchangeCertificate
to import the certificate.
After this Exchange Server 2013 need to be configured to use the certificates by using the Enable-ExchangeCertificate command.
Keep in mind that Enable-ExchangeCertificate
cmdlet cannot be used to enable a wildcard certificate for POP and IMAP services; also it cannot be used to enable a certificate for federation.
You can use the private key to export the certificate and import it on Exchange 2007 CAS servers using the same steps.
3. Configuring Name Space and Virtual Directories for Exchange Server
Follow the below given steps to configure Exchange Server 2013 virtual directories using EMS:
Exchange Control Panel
To configure Exchange Control Panel (ECP) virtual directories properties, use Set-EcpVirtualDirectory
cmdlet.
Outlook Web App
To configure Outlook Web App virtual directories use Set-OwaVirtualDirectory
cmdlet.
Offline Address Book
To configure offline address book virtual directory use Set-OABVirtualDirectory
cmdlet.
ActiveSync
Use Set-ActiveSyncVirtualDirectory
cmdlet to configure the Microsoft Exchange ActiveSync settings on specified virtual directory.
Web Services
To modify Exchange Web Services virtual directory use Set-WebServicesVirtualDirectory
cmdlet on the server running Exchange Server 2013.
AutoDiscover
To set properties on specified Client Access Server objects use Set-ClientAccessServer
cmdlet.
Outlook Anywhere
To set properties on a computer running Microsoft Exchange Server 2013 enabled for Microsoft Outlook Anywhere use Set-OutlookAnywhere
cmdlet.
4. Offline Address Book (OAB) configuration
In Exchange Server 2013, OABGen (Offline Address Book Generation) service which runs on Mailbox server generates offline address book.
You need to change the default OAB on Exchange server 2013 database using Get-MailboxDatabase
and Set-MailboxDatabase
5. Mail Flow Configurations on Exchange 2013
Receive Connector
To create this connector use the New-ReceiveConnector
cmdlet.
Send Connector
Now add the new Exchange Server to the existing send connector by the Set-SendConnector
cmdlet.
Transport Rules:
Simply we cannot migrate Transport rules from Exchange Server 2007 to 2013. So you need to follow the below steps to get Transport rules in Exchange Server 2013.
- Use
Export-TransportRuleCollection
cmdlet to export all transport rules from Exchange Server 2007. - Copy the exported Transport Rule file to the system which has Exchange Server 2013 installed on it.
- Use
Import-TransportRuleCollection
cmdlet to import the Transport Rules from the file to the Exchange Server 2013.
6. Moving Client Access to Exchange server 2013
To move Client access to Exchange server 2013, In the Exchange server 2007 management shell you need to run the below commands.
Outlook Web App
Use Set-OwaVirtualDirectory
cmdlet to modify properties of MS Outlook Web App virtual directories.
Offline Address Book
Use Set-OABVirtualDirectory
cmdlet to configure offline address book virtual directory.
ActiveSync
Use Set-ActiveSyncVirtualDirectory
cmdlet to configure the Microsoft Exchange ActiveSync settings on specified virtual directory.
Web Services
To modify Exchange Web Services virtual directory use Set-WebServicesVirtual Directory
cmdlet on the server running Exchange Server 2007.
Unified Messaging
To modify an existing Exchange Unified Messaging virtual directory, run the Set-UMVirtualDirectory
cmdlet.
Outlook Anywhere
To set Microsoft Outlook Anywhere properties on Microsoft Exchange Server 2007 use Set-OutlookAnywhere
cmdlet.
Threat Management Gateway Rules
Now create and update your TMG publish rules.
Next update your publish rules for Exchange server 2007 to accept connections for Legacy name space. And then publish Exchange Server 2013 using TMG.
Domain Name System Configurations:
In the Internal DNS, point mail.contoso.com and autodiscover.contoso.com to Exchange server 2013. And in Legacy.contoso.com new record points to Exchange server 2007. In the Public DNS, point mail.contoso.com and autodiscover.contoso.com to TMG listener and for Legacy.contoso.com point new record to TMG Listener.
7. Moving Mailboxes to Exchange server 2013
You can use New-MoveRequest
cmdlet to start mailbox or personal archive migration. To check mailbox readiness before starting to move mailboxes you can use WhatIf
parameter. You can also create batch to migrate mailbox to exchange 2013 if you want.
8. Moving Public Folders to Exchange server 2013
To start with, take snapshot of the current Public Folders in Exchange Server 2007 EMS using the following commands: Get-PublicFolder
, Get-PublicFolderStatistics
and Get-PublicFolderClientPermission
.
Next create CSV files using scripts (Export-PublicFolderStatistics.ps1 and PublicFolderToMailboxMapGenerator.ps1). In this way you will get the CSV file mapping PFs to new PF mailboxes.
In the Exchange server 2013, create PF mailboxes using New-Mailbox –PublicFolder
cmdlet. Migrate Public Folders content using New-PublicFolderMigrationRequest
cmdlet.
Before starting the final migration, lock down Exchange Server 2007 using the following cmdlets.
In Exchange 2007 – Set-OrganizationConfig –PublicFoldersLockedForMigration $True
In Exchange 2013 – Set-PublicFolderMigrationRequest <name> -PreventCompletion $False
In Exchange 2013 – Resume-PublicFolderMigrationRequest <name>
Test new public folders to ensure everything is alright. Then us the following cmdlet to unlock the Public Folders migration.
Set-OrganizationConfig -PublicFolderMigrationComplete:$true
9. Decommission Exchange Server 2007
Open Exchange Server 2007 management shell and run the following command to remove mailbox databases.
Get-MailboxDatabase | Remove-MailboxDatabase
Remove the public database and in the cmd run the following command to uninstall Exchange:
Setup.com /mode:uninstall
By following above steps you can complete the entire Exchange Server 2007 to 2013 migration and after migration decommission exchange server.