A couple of notes ahead of time:\n
    \n\t
  • Edge Transport server is the only server that should be left in Workgroup mode
  • \n\t
  • Set your application log files to 40MB
  • \n\t
  • If your memory is under 8GB set the Pagefile to 1.5x memory.  Else set the page file the same size as the amount of memory you have plus 10MB.  If you use a separate disk for your page file make sure you leave 100MB on your OS drive for dump purposes.
  • \n
\nRun ExBPA or Exchange best practice analyzer:\nExBPA tests your existing organization for readiness before installing Exchange 2007.  It can be downloaded here http://technet.microsoft.com/en-us/exchange/bb288481.aspx\nServers Deployed in the following order:\n
    \n\t
  1. Client Access Server
  2. \n\t
  3. Hub Transport server
  4. \n\t
  5. Mailbox server
  6. \n\t
  7. Unified Messaging Server
  8. \n
\nInstall Active Directory Domain Services remote management tools:\nServerManagerCmd -i RSAT-ADDS\nInstall IIS requirements for Exchange Management Console:\nServerManagerCmd -i PowerShell\nServerManagerCmd -i Web-Metabase\nServerManagerCmd -i Web-Lgcy-Mgmt-Console\nInstall the prerequisites for client access servers:\nServerManagerCmd -i PowerShell\nServerManagerCmd -i Web-Server\nServerManagerCmd -i Web-ISAPI-Ext\nServerManagerCmd -i Web-Metabase\nServerManagerCmd -i Web-Lgcy-Mgmt-Console\nServerManagerCmd -i Web-Basic-Auth\nServerManagerCmd -i Web-Digest-Auth\nServerManagerCmd -i Web-Windows-Auth\nServerManagerCmd -i Web-Dyn-Compression\nIf the CAS server is going to support Outlook anywhere clients:\nServerManagerCmd -i RPC-over-HTTP-proxy\nInstall Edge Transport Server prerequisites:\nServerManagerCmd -i PowerShell\nDownload and install ADAM if the server is running Windows Server 2003\nIf the server is running Windows Server 2008 install the Active Directory Lightweight Service s role. ServerManagerCmd -i ADLDS\nInstall Hub Transport prerequisites:\nServerManagerCmd -i PowerShell\nInstall Mailbox server prerequisites:\nServerManagerCmd -i PowerShell\nServerManagerCmd -i Web-Server\nServerManagerCmd -i Web-ISAPI-Ext\nServerManagerCmd -i Web-Metabase\nServerManagerCmd -i Web-Lgcy-Mgmt-Console\nServerManagerCmd -i Web-Basic-Auth\nServerManagerCmd -i Web-Windows-Auth\nIf the mailbox server is clustered\nServerManagerCmd -i Failover-Clustering\nUnified Messaging server prerequisites:\nServerManagerCmd -i PowerShell\nServerManagerCmd -i Desktop-Experience\nInstall the prerequisites if the server will be the Hub Transport, Client Access Server, and Mailbox Server:\nServerManagerCmd -i PowerShell\nServerManagerCmd -i Web-Server\nServerManagerCmd -i Web-ISAPI-Ext\nServerManagerCmd -i Web-Metabase\nServerManagerCmd -i Web-Lgcy-Mgmt-Console\nServerManagerCmd -i Web-Basic-Auth\nServerManagerCmd -i Web-Digest-Auth\nServerManagerCmd -i Web-Windows-Auth\nServerManagerCmd -i Web-Dyn-Compression\nIf you will be supporting Outlook Anywhere clients:\nServerManagerCmd -i RPC-over-HTTP-proxy\nPrepare Legacy Permissions:\nInsert the Exchange 2007 DVD.  From the CMD prompt browse to the disc and type setup /prepareLegacyExchangePermissions.\nThis does 3 things:\n
    \n\t
  1. \n
    Copies the setup files.
  2. \n\t
  3. \n
    Performs Exchange Prerequisite test
  4. \n\t
  5. \n
    Updates the legacy permissions
  6. \n
\n

Extend AD Schema

\n

Setup /PrepareAD

\n

After you run the above command you should see a new administrative group in ESM named FYDIBOHF23SPDLT

\n

Setup /PrepareSchema

\n

Setup /PrepareDomain

\n

This does 3 things:

\n
    \n\t
  1. \n
    Copies setup files
  2. \n\t
  3. \n
    Performs Organizational checks
  4. \n\t
  5. \n
    Prepares the organization
  6. \n
\n

Install Exchange 2007 Prerequisites

\n

.NET Framework 2.0

\n

MMC 3.0

\n

Exchange Management Shell - do this by clicking on msh_setup.msi

\n

Replace front end servers with client access servers

\n

Replace Exchange 2000/2003 front end servers with CAS servers.  2007 CAS servers can manage Exchange 2000/2003/2007 back end servers.  So if this is the first server you upgrade it can support your back end configuration.

\n

Check logs for errors:

\n

C:ExchangeSetupLogs

\n

Migrate bridge servers with Hub Transport Servers

\n

Hub Transport servers can route mail for Exchange 2000/2003/2007.  Keep in mind bridgehead servers also support 2000/2003/2007 just as long as you have a routing group connector between every group.

\n

If you receive the oganization name during setup then you must STOP immediately.  This means it is not seeing your existing Exchange configuration.  The page you should be receiving is Mail Flow Server page for interoperability with an existing exchange environment.  If you get this page type the name of the server that you will use to route messages from this server.  This will create a routing group connector between this server and your existing 2000/2003 servers.  The server you want to choose in this instance is the existing bridgehead server.  If you do not have a bridgehead server then select a server that will be one of the last 2000/2003 servers during the migration.  This way interoptibility lasts until you decomission this server. 

\n

If you fail this step for whatever reason you can create a routing group connector between Exchange 2007 and your old environment by running the following:

\n

New-RoutingGroupConnector -Name "Ex2003 to Ex2007 RGC" -SourceTransportServers "E2007Hub.N2NetworkSolutions.com" -TargetTransportServers "Exch2003BridgeHead.N2NetworkSolutions.com" -Cost 10 -Bidirectional $true -PublicFoldersEnabled $True

\n

 An example of an unattended install is as follows:

\n

Setup /mode:install /roles:ClientAccess,HubTransport,Mailbox /LegacyRoutingServer: Exchange2003.N2NetworkSolutions.com

\n

After you replace the front end severs with CAS servers verify through OWA that everything is functioning and remove your old front end severs.

\n

Create internet send connector:

\n

Right click Hub-Transport and select new Send Connector.  Type Internet E-mail as the name.  Select Internet on the intended use drop down.

\n

On the address space screen simply select * to route all mail.

\n

On the network settings screen if you have an SMTP gateway or Edge Transport server in place enter it here.  Else let the Hub Transport server route your mail by selecting Use DNS to route mail automatically.

\n

Click next on the hub transport screen.

\n

The next thing you need to do is install the new Exchange 2007 mailbox server.  This can easily be done by running setup.exe and selecting the mailbox role.

\n

Modify default receive connector:

\n

Go to the hub transport configuration in the server manager.  Modify the default receive connector and add Anonymous Users.  By default the hub transport server accepts email from the edge transport and anonymous is not required.  Before enabling this however you should have outside SMTP protection through an internal SMTP gateway or 3rd party filtering company.

\n

Install Mailbox Server:

\n

Setup.com /mode:install /roles:MB 

\n

Move mailboxes:

\n
    \n\t
  1. \n
    Launch Exchange Management Console (EMC)EMC is your Exchange 2007 server do not attempt to move your mailboxes from your 2003 ESM.
  2. \n\t
  3. \n
    Go to Recipient configuration>mailbox container.  In the recipient type column you'll see two types here legacy mailbox and mailbox user.  Legacy means the user is still on Exchange 2000/2003, mailbox user means 2007
  4. \n\t
  5. \n
    Highlight all the users you want to m0ve to 2007 right click and select move mailbox.
  6. \n\t
  7. \n
    The next window gives you the ability to select your new server storage group and database.  Select accordingly.
  8. \n\t
  9. \n
    In the next select tell it to skip mailbox if corrupt.  This way your migration goes smoothly. 
  10. \n\t
  11. \n
    The next screen gives you the ability to run now or schedule for later.
  12. \n
\n*Do not remove your old mailbox server at this point.  Leave it online because all of your clients will hit it and will be redirected to the new Exchange server.  This will save you hundreds if not thousands of hours reconfiguring users' mailboxes.\nEMS Move Mailboxes:\nGet-Mailbox –Database “Exchange2003First Storage GroupMailbox Store (Store1)” | Move-Mailbox –TargetDatabase “Exchange2007First Storage GroupMailbox Database” –MaxThreads 10\nMove Specific Users via EMS:\n$UsersToMigrate = "Jeremy", "Mike", "Elvis"\nForEach ($SingleUser in $UsersToMigrate) {Move-Mailbox -Identity $SingleUser -TargetDatabase "E2K7First Storage GroupMailbox Database" -Confirm:$false}\nInstall Unified Messaging and Edge Transport Servers\nI would recommend holding off on this step until the Administrator has had a week, 2 weeks, a month to explore the new Exchange interface.  These servers are not necessities so it does not need to be done the same day as your migration.\nMigrate public folders\nMigrate public folders method 1\nMoveAllReplicas.ps1 is a PowerShell Script which can be found with Exchange 2007 in the Program FilesMicrosoftExchange ServerScripts diretory\nMoveAllReplicas.ps1 –Server Exchange2003 –NewServer Exchange2007\nThis can take hours be patient\nUse PFMigrate to move your public folders. \n
    \n\t
  1. Open CMD prompt.  Go to :supportexdeploy
  2. \n\t
  3. To create a report type the following pfmigrate.wsf /S:OLDServer /T:NewServer /r /f:c:logname.log
  4. \n\t
  5. To replicate system folders pfmigrate.wsf /s:OldServer /t:NewServer /sf /a /n:10000 /f:c:logname.log
  6. \n\t
  7. To replicate public folders pfmigrate.wsf /s:OldServer /t:NewServer /a /n:10000 /f:c:lolgname.log
  8. \n\t
  9. After migration type in pfmigrate.wsf /s:OldServer /t:NewServer /d
  10. \n\t
  11. View logname.log to ensure proper replication.
  12. \n
\nAnother method\nGo into the Exchange 2003 System Manager.  Right click on the public folder store and select move all replicas.\nThe goal is to have 0 entries in the public folder instances tab.\nOnce all public folders are removed you can right click on the public folder store and select delete.\nOffline Address Book\nOpen Exchange Management Console\nGo to Organization Configuration>Mailbox>Offline Address Book tab\nRight click on the default offline address book and select move.  Click browse and select your 2007 Exchange server.  Once everything is set click Move.\nMove Offline Address Book via Exchange Management Shell:\nGet-OfflineAddressBook | fl \nWhen you run the command above remember the field labeled AdminDisplayName it will be used in the Next phase.\nType in Move-OfflineAddressBook "Default Offline Address List" -Server Exchange2007\nIn the above command you will substitute Default Offline Address List for the name of your address list.  Also the Exchange2007 will be substituted for your Exchange 2007 server name\nRemove routing group connectors\nVia Exchange Management Shell\nRemove-RoutingGroupConnector –Identity “First Administrative GroupFirst Routing GroupExchange2003-Exchange2007”\nRemove-RoutingGroupConnector –Identity “Exchange Administrative Group (FYDIBOHF23SPDLT)Exchange Routing Group (DWBGZMFD01QNBJRExchange2007-Exchange2003”\nVia 2003 ESM\nOpen ESM>Administrative groups>Exchange Administrative group>Routing Groups>Exchange Routing Group>Connectors\nMake sure you go into the connectors folder for each administrative group\nRemove recipient update services:\nRight click on domain RUS and click remove.\nTo remove enterprise RUS open ADSIEdit and browse to\nConfiguration / Services / Microsoft Exchange / <organization name> / Address Lists Container / Recipient Update Services\nOnce you are here right click on enterprise RUS and delete\nRemove OLD Exchange servers\n
    \n\t
  1. Remove all routing connectors.
  2. \n\t
  3. Uninstall Exchange
  4. \n\t
  5. Remove routing groups
  6. \n
\nBefore removing routing connectors stop the RGC service if nobody complains you know that server wasn't routing mail.  It can be removed via the following steps.\n
    \n\t
  1. Launch ESM.
  2. \n\t
  3. Go to Administrative Groups>expand administrative group where your server is located.
  4. \n\t
  5. Expand routing group container
  6. \n\t
  7. Expand routing group that has the connector you want to remove
  8. \n\t
  9. expand connectors
  10. \n\t
  11. right cilck on connector select delete.
  12. \n\t
  13. Once all of the connectors are deleted you can remove the routing group itself.
  14. \n
\nDO NOT simply unplugged old Exchange servers from the network. Go to add/remove programs and uninstall it.  This performs critical tasks.\nOnce you remove the last routing group Exchange it clears legacy routing.\nVerify mail flow in the logs\nProgram FilesMicrosoftExchange ServerTransportRolesLogsProtocolLog\nTest mobile device connectivity\nMicrosoft has a utility that allows you to emulate mobile device connectivity it can be downloaded here.\nhttp://www.microsoft.com/downloads/details.aspx?FamilyID=A6F6ADAF-12E3-4B2F-A394-356E2C2FB114&displaylang=en