DCSIMG
Migrate from Exchange 2000/2003 to Exchange 2007 Step By Step Guide – By Ronen Gabbay - Ronen Gabbay

Ronen Gabbay

Migrate from Exchange 2000/2003 to Exchange 2007 Step By Step Guide – By Ronen Gabbay

Migrate from Exchange 2000/2003 to Exchange 2007 Step By Step Guide – By Ronen Gabbay

1. Create A design Document

2. Create a PKI design for the Exchange 2007 implementation.

3. Check your design in a POC Lab

4. Check Application Compatibility with Exchange 2007

5. If no SMTP Connector exists on the Exchange 2003 server configure one with * as address space

6. Verify that you have all needed programs like Anti Virus, Backup & Archive for Exchange 2007 64bit

7. Infrastructure Check:

a. Run : Exchange Best Practice Analyzer Readiness Check , DCDiag.exe, NetDiag.exe, DnsLint.exe, NLtest.exe

b. Check all Active Directory topology including Sites and DNS infrastructure.

8. Document Organizational Level Permissions

9. Backup Active Directory

10. Run Setup ( /PS /PL /Prepare AD / - install)

11. If using distributed installation first deploy the CAS and HUB servers – The Exchange 2007 CAS acts as a Front End server for all servers the Exchange 2003 and the Exchange 2007.

12. The installation process creates an RGC connector to enable mail flow between the old and new server.

13. If multiple routing groups exists than:

a. suppress Link State propagation to the Exchange 2007 connected RG

i. http://technet.microsoft.com/en-us/library/aa996728.aspx

b. If needed create additional Routing Groups Connectors to your other Exchange 2003 sites

i. Use the New-RoutingGroupConnector CMDlet

14. Restore Organizational Level Permissions

15. Install Anti Virus and Backup Agents

16. Harden Exchange 2007 server using SCW

a. http://technet.microsoft.com/en-us/library/aa998208.aspx

17. Configure your server based on the design Documentation processes verify that all system polices and limits are configured according to the company policy.

18. Verify that the installation process succeeded

19. Replicate all Public Folders and System Folders to the new Server use the Exchange 2003 Console, Shell or PFmigrate

20. Wait…

21. Create some Test Mailboxes

22. Run Tests:

a. Mail Flow

i. Send Mail to a User on the same server on the same database

ii. Send Mail to a User on the same server on another database

iii. Send Mail to a User on the old server

iv. Send Mail to a User on the internet

v. Send Mail From the internet to the new User

b. Public Folders:

i. View all Public Folders

ii. Free Busy

iii. Offline Address Book

c. Remote Connectivity

i. Outlook Web Access (and Link Access)

ii. Outlook Anywhere (RPC over HTTPS)

iii. Exchange Active Sync

d. Check Your Backups – You can use the RSG

23. Configure Internet Connectivity

a. Outgoing Mails:

i. If server sends Mails to the internet directly open port 25 on the Firewall

ii. If using Mail Relay configure the Mail relay to relay mails for the new server

iii. Configure Send Connector using the Exchange 2007 Console

b. Incoming Mails:

i. If the server accept direct mails from the internet set another MX record with a higher priority for the new server – (by stopping the old server SMTP service you will be able to check mail connectivity to the new server – don’t forget to start it after Test step is completed)

ii. If you are using mail relay test the mail relay connectivity to the new server

iii. Configure the Exchange 2007 default HUB transport role Receive Connector for permission Group: Anonymous Access

24. Run Tests:

a. Mail Flow

i. Send Mail to a User on the same server on the same database

ii. Send Mail to a User on the same server on another database

iii. Send Mail to a User on the old server

iv. Send Mail to a User on the internet

v. Send Mail From the internet to the new User

25. Move Test Mailboxes from Exchange 2000 to 2007 use only Exchange 2007 tools (The Exchange Management Shell or the Exchange Management Console DO NOT USE exchange 2003 tools)

26. Check Application Connectivity (SMTP Relay and other API)

27. Run Tests:

28. Move Pilot Mailboxes from Exchange 2000 to 2007 (Some shell options)

29. Wait …. Run Tests…

30. Move all Mailboxes based on the design Documentation process

Migrate all mailboxes for users whose alias start with the letter A from all databases within a legacy server to an Exchange 2007 database:

· Get-recipient | where { $_.RecipientTypeDetails -Eq " LegacyMailbox"}|Move-Mailbox -TargetDatabase "Exch2007Server1\Mailbox Database"

Migrate mailboxes based on Organizational information

· Get-User | Where { $_.Department -ilike "Accounting" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"

· Get-Mailbox | Where { $_.OU -ilike "*Marketing" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"

· Get-User | Where { $_.Company -ilike "Microsoft" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"

- Migrate mailboxes based on user's physical location

· Get-User | Where { $_.City -ilike "Seattle" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"

· Get-User | Where { $_.PostalCode -Eq "98075" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"

· Get-User | Where { $_.StateOrProvince -ilike "WA" } | Move-Mailbox -TargetDatabase " Exch2007Server1\Mailbox Database"

- Migrate mailboxes based on size

· Get-MailboxStatistics -Server "Exch2007Server1" | Sort TotalTimeSize -Desc | Select -First 10 |Move-Mailbox -TargetDatabase "Exch2007Server1\Mailbox Database"

31. Run Tests:

a. Mail Flow

i. Send Mail to a User on the same server on the same database

ii. Send Mail to a User on the same server on another database

iii. Send Mail to a User on the old server

iv. Send Mail to a User on the internet

v. Send Mail From the internet to the new User

b. Public Folders:

i. View all Public Folders

ii. Free Busy

iii. Offline Address Book

c. Remote Connectivity

i. Outlook Web Access (and Link Access)

ii. Outlook Anywhere (RPC over HTTPS)

iii. Exchange Active Sync

32. Backup your serve

33. Wait…..

34. Upgrade Your Global Address List

a. Set-GlobalAddressList "Default Global Address List" -RecipientFilter {(Alias -ne $null -and (ObjectClass -eq 'user' -or ObjectClass -eq 'contact' -or ObjectClass -eq 'msExchSystemMailbox' -or ObjectClass -eq 'msExchDynamicDistributionList' -or ObjectClass -eq 'group' -or ObjectClass -eq 'publicFolder'))}

35. Upgrade All Address List

a. Get-AddressList | Update-AddressList

b. Set-AddressList "All Users" –IncludedRecipients MailboxUsers

c. Set-AddressList "All Groups" –IncludedRecipients MailGroups

d. Set-AddressList "All Contacts" –IncludedRecipients MailContacts

e. Set-AddressList "All PublicFolders" –RecipientFilter { RecipientType –eq 'PublicFolder' }

36. Upgrade Your Offline Address Book

a. Get-OfflineAddressBook | Move-OfflineAddressBook Destination new Exchange 2007 server

b. Get-OfflineAddressBook | Update-OfflineAddressBook

37. Upgrade Your Recipient e-mail Address Policy

a. Set-EmailAddressPolicy "Default Policy" –IncludedRecipients AllRecipients

Or

b. Get-EmailAddressPolicy | where { $_.RecipientFilterType –eq "Legacy" }

c. Set-EmailAddressPolicy "Default Policy" –IncludedRecipients AllRecipients

38. The following script can replace steps 30 -33

#
# UpgradeDefaultFilters.ps1
#
# This script will upgrade the default set of legacy Exchange 2003 filters to Exchange 2007 filter format. 
# Add "-ForceUpgrade" to each "set" one-liner if you want to bypass the prompts. 
#  Filters affected include:
#   Recient Policy
 
 
#          - Default Policy
#   Global Address List
#          - Default Global Address List
#   Address Lists
#          - All Users
#          - All Contacts
#          - All Groups
#          - All Public Folders
#
# See blog post http://msexchangeteam.com/archive/2007/01/11/432158.aspx for more detail on this script and also how to convert custom filters.
# Use this script at your own risk. 
#
 
# Default Policy
Set-EmailAddressPolicy "Default Policy" –IncludedRecipients AllRecipients
 
# Default Global Address List
Set-GlobalAddressList "Default Global Address List" -RecipientFilter {(Alias -ne $null -and (ObjectClass -eq 'user' -or ObjectClass -eq 'contact' -or ObjectClass -eq 'msExchSystemMailbox' -or ObjectClass -eq 'msExchDynamicDistributionList' -or ObjectClass -eq 'group' -or ObjectClass -eq 'publicFolder'))}
 
# All Users
Set-AddressList "All Users" –IncludedRecipients MailboxUsers
 
# All Contacts
Set-AddressList "All Contacts" –IncludedRecipients MailContacts
 
# All Groups
Set-AddressList "All Groups" –IncludedRecipients MailGroups
 
# All Public Folders
Set-AddressList "Public Folders" –RecipientFilter { RecipientType -eq 'PublicFolder' }
 
  

39. Backup Your Server….

40. Wait few days…Depend on the organization size

41. Stop all old Exchange Services

42. Wait few days…Depend on the organization size

43. Start Cleaning Process

a. Remove all Routing Group Connectors

b. Remove The Old server – Use Exchange 2003 ESM or ADSI edit you can also try to uninstall the server

c. Remove the old Routing Group using Exchange 2003 ESM or ADSI edit

d. Do NOT remove the First Administrative Group – it contains the Public Folders

Good Luck….

תוכן התגובה

Migrate from Exchange 2000/2003 to Exchange 2007 Step By Step Guide… כתב/ה:

Pingback from  Migrate from Exchange 2000/2003 to Exchange 2007 Step By Step Guide…

# November 15, 2007 2:23 PM

ליאור צורף כתב/ה:

ברוך הבא לבלוגים!

אני מאוד שמח לראות שאתה כאן.

ליאור

# November 20, 2007 5:21 PM

Skip כתב/ה:

Excellent job on this document Ronen--it worked perfectly!

# August 26, 2008 1:50 PM

justin כתב/ה:

www.justinjacob.com

# December 9, 2008 4:55 AM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 5 and 2 and type the answer here:


Enter the numbers above: