Windows NT and Exchange 5.5 were very successful—maybe a little too successful. Many NT/Exchange 5.5 users decided to sit out the migration to Windows 2000 and Exchange 2000. Microsoft is banking on the Windows NT/Exchange 5.5 holdouts bypassing Windows 2000/Exchange 2000 and upgrading straight to Windows Server 2003 and Exchange 2003. An upgrade from Exchange 5.5 to Exchange 2003 is not for the faint of heart; a number of tasks have to be completed before the process can commence. This is especially true if your entire infrastructure is still based on NT 4 domains and no Windows 2000 or 2003 domain controllers are present yet.

Not surprisingly, Exchange 5.5 won’t run on Windows Server 2003. A little more surprising is that neither will Exchange 2000. The only migration path from Exchange 5.5 is to move the resources between the old server and the new server. Here are the required steps for migrating from Exchange 5.5 to Exchange 2003 in a single messaging server environment.

My configuration

My configuration in this article consists of a Windows NT 4 SP6a server running Exchange 5.5 SP4 and a Windows Server 2003 RC2 system. I’ll be installing the current Exchange 2003 beta on this Windows 2003 system, which is also a domain controller and DNS server for the domain. The Windows NT 4 server is a BDC for the domain. A third server, the former NT 4 PDC for the domain, is also running and is simply an upgraded Windows Server 2003 system acting as a domain controller. For a Windows Server 2003 system to join an existing NT domain, the PDC for the NT domain must be upgraded to the new operating system first.

Before the Exchange 2003 installation
Before you begin installing Exchange 2003 on the Windows 2003 system, make sure that everything is working properly. The Exchange 2003 installation depends on a number of services working as expected, including DNS, network services, LDAP, and the Exchange 5.5 services.

Microsoft provides a number of deployment utilities to make checking these services easier. To use them, copy the \Support\ExDeploy folder to a local drive on the Windows Server 2003 system. The most important test to run is Scopescan, which automatically runs a number of subtests, including:

  • DSConfigSum: Runs an Exchange 5.5 Directory configuration summary. Results of this test are located in C:\ExDeploy Logs\DSConfigSum.log.
  • DSObjectSum: Runs an Exchange 5.5 Directory object summary. Results of this test are located in C:\ExDeploy Logs\DSObjectSum.log.
  • UserCount: Run an Exchange 5.5 user count. Results of this test are located in C:\ExDeploy Logs\5.5 DS User Walk Report.txt.
  • VerCheck: Determines the version of the server running Exchange 5.5. Results of this test are located in C:\ExDeploy Logs\VerCheck.log.
  • NetDiag: Runs a test to determine network communication status. Results of this test are located in C:\ExDeploy Logs\ExDeploy-NetDiag.log.

To run this battery of tests, change to the ExDeploy directory that was copied to the local drive and execute exdeploy /s:nt4:389 /t:dsscopescan. Replace nt4 with the name of the Exchange 5.5 server that you plan to upgrade and 389 with the LDAP port on that server if you have changed it from the default of port 389. The complete results of this test are written to C:\ExDeploy Logs\ExDeploy.log. A short summary is also written to the console.

In my test lab setup, ExDeploy indicated a problem in the NetDiag portion of the DSScopeScan process. The ExDeploy-NetDiag.log file indicated a problem contacting the global catalog on another server and a DNS communications problem. The global catalog is critical to Exchange 2003. After I found the cause and corrected these errors, the DSScopeScan test battery showed no errors.

Domain controller diagnostics
Exchange 2003 is heavily dependent on network services running properly. This is especially true of the server or servers acting as the global catalogs for the Active Directory domain. The Exchange support tools ship with the DCDiag tool to make sure that these services are functional.

DCDiag is much like NetDiag, but where NetDiag is used for servers and workstations, DCDiag is aimed at domain controllers. To use DCDiag, change to the local ExDeploy directory and type dcdiag /f:dcdiag.log. The /f parameter indicates the name of the file to which to write the log. Once this is run, check the log files for errors and correct them before continuing.

Preparing the forest and the domain
Unlike Exchange 5.5, Exchange 2003 keeps messaging attributes with the user record rather than in a separate database. These records are all a part of Active Directory. A Windows Server 2003 domain by default doesn’t have support for the Exchange 2003 attributes, so they must be added. This is a two-step process. The first step prepares the Active Directory forest for Exchange attributes, while the second prepares the local domain in which Exchange will reside.

To prepare the forest, make sure that you have the Exchange 2003 CD mounted and switch to the \Setup\i386 directory at a command-line prompt. From here, type setup /forestprep and press [Enter]. This will launch the Exchange installer, but will only execute the components needed to extend the Active Directory schema for the forest, as seen in Figure A. You’ll also be asked for an administrative account for this procedure.

Figure A
Prepare the forest.

With the forest prepared, the last step required before installing Exchange 2003 is to prepare the local domain that will host Exchange. Type setup /domainprep from the same command-line location as before. This will launch the Exchange installer again, as seen in Figure B, but this time with the components necessary to upgrade the domain.

Figure B
Prepare the domain.

Install the Active Directory Connector
Because Exchange directory data in Exchange 5.5 is stored separately from the Windows user data, there has to be a way to connect Active Directory to the Exchange 5.5 directory during the migration. This is accomplished with the Active Directory Connector software shipped with Exchange 2003.

To install the Active Directory Connector on the new server, from the Exchange 2003 CD, execute the Setup.exe program from the \ADC\i386 folder. There are two installable components to ADC: ADC itself and its management components. I’ll install both for this example, as shown in Figure C.

Figure C
Both ADC components will be installed.

By default, the ADC components are installed in C:\Program Files\MSADC, but you can change this by clicking the browse button and choosing a new location on the next step of the ADC installation.

Like all services, ADC needs a context in which to run. By default, ADC will run under the Administrator account for the domain. To proceed, the service needs you to provide the password for this user account. You can change this if you’d like on the Service Account screen shown in Figure D.

Figure D
Service account and password for the ADC service

Configure a connection agreement
After installation, ADC can be configured by selecting Start | All Programs | Microsoft Exchange | Active Directory Connection. This will start the ADC Manager, as seen in Figure E. From here, click on ADC Tools to start the process of creating a connection agreement between Active Directory and the Exchange 5.5 Directory Service. This will start a step-by-step process for setting up the agreement.

Figure E
The ADC Tools window

To start, click the Set button. The Tool Settings window, seen in Figure F, will pop up asking for the name of the Exchange 5.5 server and its LDAP port. For my installation, the Exchange 5.5 server is named NT4 and the LDAP port is the default of 389.

Figure F
The name and LDAP port for the Exchange 5.5 server

The next steps of the wizard are used to actually perform the connection. To gather information about the Exchange 5.5 sites, click the Run button under Data Collection. The Run button under the Resource Mailbox Wizard matches Active Directory accounts to Exchange 5.5 resource mailboxes.

The meat of this process starts when you click the Run button under Connection Agreement Wizard. The first step of the wizard asks you to identify the location in which you would like to place new objects. Since these will be mostly user objects, choose the Users container for your domain. If you have an NT 4 domain controller in your Windows domain, you won’t be able to switch to native mode. In that case, you’ll see the warning message shown in Figure G. Don’t worry about the message.

Figure G
The location for new objects from Exchange 5.5

The next step, on the Site Connections screen seen in Figure H, asks whether this should be a one-way or two-way relationship. For this example, I’ll leave it at two-way so that changes to the directory are propagated in both directions.

Figure H
Connections can be one-way or two-way.

To gather information from the Exchange 5.5 site, ADC needs to log into it. It needs the credentials for a user that has rights to the directory. To set these credentials, click the Set Credentials button and provide a username and password on the Site Credentials screen shown in Figure I.

Figure I
Provide credentials for the Exchange 5.5 directory.

On the Domain Credentials screen shown in Figure J, enter the login information that ADC will need to log in to Active Directory on Windows Server 2003.

Figure J
Provide credentials for Active Directory.

Next, decide whether you want just users, public folders, or both types of objects managed under connection agreements. You’ll do this on the Connection Agreement Selection screen shown in Figure K. For this example, I’ll allow both to be managed.

Figure K
Connection agreements to create

Follow up to these tools
After setting up ADC, you need to run the ExDeploy.exe program from C:\ExDeploy with the Adcusercheck tool to make sure that replication is functioning. For my lab, I executed exdeploy /s:nt4 /gc:w2k3 /t:adcusercheck, where /s:nt4 is my Exchange 5.5 server, gc:w2k3 is the name of the Active Directory Global Catalog server, and /t:adcusercheck specifies the name of the tool to run. Note that the Exchange 2003 setup will not run if you skip this step.

One more prerequisite
Finally, check native Windows 2003 services that are required by Exchange 2003. Exchange requires SMTP, NNTP, and ASP.NET to be installed and running on the target server. You can enable these features by adding a role to your server. Choose Start | Manage Your Server and click on the Add Or Remove A Role option, as shown in Figure L.

Figure L
Add a new role to your server.

You’ll see the Server Role screen of the Configure Your Server Wizard, as shown in Figure M. From the roles list, choose Application server (IIS, ASP.NET) and click Next.

Figure M
Adding IIS 6 and ASP.NET to your Exchange server

You’ll then see the Application Server Options screen, shown in Figure N. On this screen, enable ASP.NET. You’ll need this for the new version of Outlook Web Access.

Figure N
Enable ASP.NET for the new OWA.

Unfortunately, adding the roles doesn’t get everything ready for Exchange. You must manually enable NNTP in IIS. To enable NNTP, go to Start | Control Panel | Add Or Remove Programs, choose Application Server | Internet Information Services (IIS), and put a check in the box next to NNTP.

Install Exchange 2003
If an Exchange 5.5 to Exchange 2003 upgrade seems somewhat involved, you’re right. Unlike an Exchange 2000 to 2003 upgrade, the 5.5 upgrade involves the commingling of different directories. After you complete all of the preliminary work, you can install Exchange 2003 on the new server.

To begin the installation, click on Exchange Server Setup on the installation menu that comes up when you insert the Exchange 2003 CD. For this example, I’ll be performing a custom installation and installing Exchange, the management tools, and the Exchange 5.5 Administrator, as shown in Figure O.

Figure O
This is a custom installation.

When the Installation Type screen appears, as shown in Figure P, tell Setup what kind of an installation you’ll be performing. Since this installation is intended to upgrade from Exchange 5.5, join this installation to an existing 5.5 organization.

Figure P
Join this server to the Exchange 5.5 organization.

After specifying the installation type, follow the wizard normally. Setup will ask for the name of the Exchange 5.5 server you’re migrating away from and the user ID and password of the Exchange Service Account. At this point, Setup installs the selected components. Note that IIS will be stopped at certain points during the installation.

Post-installation tasks
With Exchange 2003 installed and running as a member of the Exchange 5.5 organization, you can begin to move user mailboxes to the new server. From Active Directory Users And Computers, right-click the user object with the Exchange 5.5 mailbox that you wish to move and choose Exchange Tasks. Next, choose Move Mailbox, as shown in Figure Q.

Figure Q
Move the mailbox associated with the selected user.

The Exchange Task Wizard knows where the mailbox is currently stored and makes an assumption that you want it moved to the current server, as shown in Figure R.

Figure R
The current and desired locations for the mailbox

Once the move process is complete, the user’s mailbox will be located on the Exchange 2003 server, as shown in Figure S. Note that the user’s Outlook client should automatically point to the new mailbox with no intervention required.

Figure S
The user’s mailbox is now on w2k3.

Not as easy as playing leapfrog
It’s a somewhat lengthy process to upgrade from Exchange 5.5 directly to Exchange 2003. While the lead up to installation is a long one, it helps to prevent problems from plaguing your system after the installation. Once the installation is complete, you can move user mailboxes to the new server and eventually decommission the Exchange 5.5 server, if desired.