Installing Exchange Server 2003 (DomainPrep)

By running ForestPrep you have provisioned your Active Directory to accommodate Exchange Server related schema definitions in it. Now the next step is to assign appropriate permissions to the Exchange Server objects in Active Directory. Unlike any other Active Directory objects such as user account, machine account, printer, contact, etc. Active Directory treats Exchange objects as normal AD objects and these objects need to have correct permissions on Exchange containers in Active Directory so that the machine accounts for Exchange servers as well the administrator accounts for Exchange boxes should be able to access the resources from AD. This task is done by running DomainPrep in the domain where Exchange related services are going to be used.

This task finishes within few minutes and does not take a long time as the forest preparation takes. What happens when DomainPrep is run and what are the changes made in AD when the DomainPrep is finished? Let’s a take a quick look;

During this stage of setup exchange installer inserts a set of permissions on Domain Naming Context and Configuration Naming Context. The objects which are assigned permissions on these containers include the security groups which are created by DomainPrep itself. These groups are namely Exchange Enterprise Servers (EES) and Exchange Domain Server (EDS). Once these groups are created setup assigns EDS as a member of EES and proceeds further. A better view of these permissions can be seen using Adsiedit.msc. Apart from creation and nesting of these two security group exchange also creates an addition container in AD Domain Naming Context which is very well known as Microsoft Exchange System Objects (MESO). Once you enable advanced features view of you Active Directory Users and Computers (ADUC) you can see this container in it. This container consists of the Exchange Server system objects native to Exchange configurations. These objects are mainly the system mailboxes which are marked disabled by system itself SMTP mailboxes and the System Attendant mailbox which plays a key role in calendaring stuff in Exchange Server 2003. System Attendant and SMTP mailboxes are used for the email transport and are a part of Microsoft SMTP Store Driver. This component is responsible for handling the email transport within and outside of the Exchange organization. Being very precise about it outlook which the only MAPI client widely used with exchange Servers also relies on SMTP store driver to send and receive emails though it uses RPC communication as a major communication protocol with Exchange and Active Directory.

ForestPrep needs to be run only once in the entire AD enterprise as it’s a schema modifier. However DomainPrep needs to be run several times in each domain which will be using Exchange resources. Do not get confused that it needs to be run even if you are running a resource forest. If you have multiple domain architecture of your AD and want to have different exchange servers in each of these domains you will be running DomainPrep in each of the required. Consider a scenario where you don’t want to deploy a dedicated exchange Server in another domain yet you are willing to have your mailboxes created in the Exchange organization and also want to have email addresses stamped by the recipient policies from the same organization you will need to run the DomainPrep in that domain. This is required because the Exchange objects and its binaries will be interacting with the Domain Naming Context of another domain and to do so they will need correct permissions to modify the user properties and write new email addresses in it. I will try to cover up a bit of this kind of scenario with a diagrammatic representation in some other post.

Installing Exchange Server 2003

Well, as promised this is the time for posting something new about the exchange server installations. I am focusing majorly on exchange server 2003 installation however I have also tried to shed some light on exchange server 2007 installation too.

Continuing the old story one more time this post covers up the below:

  1. Preparation of Active Directory Schema, Configuration and Domain naming contexts.
  2. Installation of software prerequisites.
  3. Installation of Exchange Server binary files.

Preparation of Active Directory Schema, Configuration and Domain naming contexts.

As all we know exchange is a very tightly integrated application with active directory and dies without it there are some preparations required in active directory so that it can accommodate the exchange as a service in it. Let’s take a look at what are they. Preparing active directory mainly consists of preparation of active directory forest so that the very first exchange server can be installed in it and the domain preparation. Forest preparation is required only once in the entire AD forest however the domain preparation is always domain specific i.e. if you have 10 different domains in the same root forest you really don’t need the forest preparation to be run several times however for every exchange server installation in any of these 10 domain you need to run the domain preparation.

Now the question is what happens when forest preparation is run and how to do it. All those who have already installed exchange may be familiar with forest preparation but those who have not done this ever will have a good idea of it now.

Running Forest Preparation (setup.exe /ForestPrep)

The exchange installation CD is shipped with an autorun program which launches an HTA and facilitates running forestprep from the interface itself however I prefer to run it from Start> Run every time. If the contents of the installation CD are browsed you can easily get to the location Drive:setupi386 setup where the actual installer is located and its off course setup.exe. To learn more about installing exchange server you can also refer its as easy as any other installation program on windows.

So, when setup.exe is launched using a switch /forestprep it tries to contact the Schema Master role of Active Directory automatically as it has to write some classes and definitions into the schema so that the newly inserted classes can be used to store in the user specific information in Domain Naming Context and the configuration specific information in Configuration Naming Context. If you open the schemamgmt.msc tool and take a look the normal schema which is not extended by any other application you will some predefined classes beginning from ms-DS-…. Unlike these Exchange ForestPrep defines its own schema classes, extensions, attributes which begin from ms-Exch-…… These schema extensions are used by Exchange Server to store, co relate and retrieve the information from Active Directory. Microsoft has very wisely used the Active Directory database to store the Exchange Server information in it. Exchange Server 5.x versions used to have their own Directory database for storing this information in it. This used be named as dir.edb, another LDAP compliant architecture. However this database was not an object oriented database as Active Directory and used to have its own mechanism to store the information in it.

Once the setup program finishes inserting the new schema extensions into the Schema Naming Context it moves to the configuration naming context and binds to it. It then locates the Services container in configuration naming context and creates another object in it name “Microsoft Exchange” this container is the one which stores information about the Exchange Organization configuration. The best view can be seen using adsiedit.msc. Once the creation of Exchange Organization in AD is complete it also creates the organization wide accessible and impacting containers in it. They are namely, Address Lists, Global Settings and etc, etc yet they are not accessible and visible to the end user (unless Exchange system management tools are already installed). Unlike any other enterprise application Exchange also needs an administrator account which will be administering it. This account is an exchange full administrator. Whenever the setup launches ForestPrep is prompts to enter an Active Directory account which will be used to install exchange in the forest. This is administrator account by default however this can be changed to any other account having at least a Schema Admin group membership J nothing left huh?


Messaging Thrill begins now!!

Here and onwards we will cover up the exchange server part now. I have intentionally written exchange server because exchange server 2003 which is the most stable application is not the only version of Microsoft Exchange Server. It is followed by Exchange Server 2007 (E12) SP1 which is the latest release and off course E14 (code name) which is yet to be launched. E14 beta versions are available for download yet.

Unlike any other enterprise application we need to have powerful hardware to accommodate Exchange Server. Let’s have a look at the minimum and recommended hardware configuration which is defined by Microsoft officially.


Microsoft Exchange Server 2003

Microsoft Exchange Server 2007


733-MHz or higher processor

x64 architecture-based computer with Intel processor that supports Intel 64 architecture (formerly known as Intel EM64T)

 AMD processor that supports the AMD64 platform

 Intel Itanium IA64 processors not supported

 Intel Pentium or compatible 800-megahertz (MHz) or faster 32-bit processor (for testing and training purposes only; not supported in production)

Operation System

Windows Server 2003

Windows Server 2003 x64 (Use of 32 bit OS is not supported in production environment)

Physical Memory (RAM)

512 MB of RAM and maximum of

Minimum: 2 gigabytes (GB) of RAM

 Recommended: 2 GB of RAM per server plus 5 megabytes (MB) of RAM per mailbox

Disk Space

You need:

500 MB on the hard disk where you install Exchange Server 2003

200 MB on the system drive

At least 1.2 GB on the drive on which you install Exchange

An additional 500 MB of available disk space for each Unified Messaging (UM) language pack that you plan to install

200 MB of available disk space on the system drive

In Exchange 2007 RTM, a hard disk drive that stores the message queue database on an Edge Transport server or Hub Transport server with at least 4 GB of free space

In Exchange 2007 SP1, a hard disk drive that stores the message queue database on an Edge Transport server or Hub Transport server with at least 500 MB of free space

File System

Disk partitions must be formatted for the NTFS file system, not the FAT file system. This requirement applies to:

System partition

Partition storing Exchange Server binaries

Partitions containing transaction log files

Partitions containing database files

Partitions containing other Exchange Server files

Disk partitions must be formatted for the NTFS file system, not the FAT file system. This requirement applies to:

System partition

Partition storing Exchange Server binaries

Partitions containing transaction log files

Partitions containing database files

Partitions containing other Exchange Server files

 Once we have the hardware ready we are ready to take the next step which is the software requirements and the architectural requirements. Apart from all above prerequisites we need to maintain the 4:1 CPU ratio for Exchange Servers and Global Catalogs (GCs). This means if you have an exchange server box installed 4 core CPU installed you must have at least one global catalog server installed a CPU with a single core. If this step is missed by any chance this may result in numerous issues in future such as RPC choke ups and RPC disconnections.

Being very precise on this, if you have a widespread active directory topology and your exchange servers are also spread across different active directory site then you must follow the 4:1 ratio in each site because exchange server always hits the nearest available global catalogs.

Installation of Exchange Server 2003 consists of 3 major steps.

1.   Preparation of Active Directory Schema, Configuration and Domain naming contexts.

2.   Installation of software prerequisites.

3.   Installation of Exchange Server binary files.

I will cover up all these 3 steps in details.