Wednesday, August 29, 2007

Transitioning from exchange 2000 to 2007 (Part 1)

Transitioning from exchange 2003 to exchange 2007 is easy and straightforward, there is many articles on the web describing the process. Henrik walther wrote one of the best articles on this topic. But what about transitioning from exchange 2000 to exchange 2007 in a situation where you have a single box (windows 2000 DC and exchange 2000), I believe the scenario is different a little bit and need more concentrate and careful.
In this article series (3 parts), I am gonna show you my real experience on this issue, enjoy it!


• The setup is as follow:
-Two Domain controllers running windows 2000 advanced server.
-Exchange 2000 is installed on one of the domain controllers.
-The FSMO roles had been moved to the domain controller that is not running exchange.

Well, the first thing we have to think about it is to upgrade the domain controllers to windows 2003 before we go through the installation of Exchange 2007, since this is one of the requirements for exchange 2007.
Regarding to MS
KB325379, there is certain attributes in the schema must be changed before we run the /Forestprep , /Domainprep of the windows 2003, those attributes are:
-CN=ms-Exch-Assistant-Name
-CN=ms-Exch-House-Identifier
-CN=ms-Exch-LabeledURI

These attributes must appear as msExchAssistantName, msExchHouseIdentifier, and msExchLabeledURI.
In order to do such change, we can create a script that modifies these attribute in the following way:
Quoted





“1.Log on to the console of the schema operations master by using an account that is a member of the Schema Admins security group.
2.Click Start, click Run, type notepad.exe in the Open box, and then click OK.
3.Copy the following text including the trailing hyphen after "schemaUpdateNow: 1" to Notepad.


dn: CN=ms-Exch-Assistant-Name,CN=Schema,CN=Configuration,DC=X

changetype: Modify
replace:LDAPDisplayName
LDAPDisplayName: msExchAssistantName
-

dn: CN=ms-Exch-LabeledURI,CN=Schema,CN=Configuration,DC=X
changetype: Modify
replace: LDAPDisplayName
LDAPDisplayName: msExchLabeledURI
-

dn: CN=ms-Exch-House-Identifier,CN=Schema,CN=Configuration,DC=X
changetype: Modify
replace: LDAPDisplayName
LDAPDisplayName: msExchHouseIdentifier
-

dn:
changetype: Modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

4.Confirm that there is no space at the end of each line.
5.On the File menu, click Save. In the Save As dialog box, follow these steps:
a. In the File name box, type the following:
\%userprofile%\InetOrgPersonPrevent.ldf
b. In the Save as type box, click All Files.
c. In the Encoding box, click Unicode.
d. Click Save.
e. Quit Notepad.
6.Run the InetOrgPersonPrevent.ldf script.
a. Click Start, click Run, type cmd in the Open box, and then click OK.
b. At a command prompt, type the following, and then press ENTER:
cd %userprofile%
c. Type the following command
c:\documents and settings\%username%>ldifde -i -f inetorgpersonprevent.ldf -v -c DC=X "domain name path for forest root domain"
Syntax notes:
•DC=X is a case-sensitive constant.
•The domain name path for the root domain must be enclosed in quotation marks.
For example, the command syntax for an Active Directory forest whose forest root domain is TAILSPINTOYS.COM would be:
c:\documents and settings\administrator>ldifde -i -f inetorgpersonprevent.ldf -v -c DC=X "dc=tailspintoys,dc=com"
Note You may need to change the Schema Update Allowed registry subkey if you receive the following error message:
Schema update is not allowed on this DC because the registry key is not set or the DC is not the schema FSMO Role Owner.
For more information about how to change this registry subkey, click the following article number to view the article in the Microsoft Knowledge Base:
285172 Schema update require Write access to schema in Active Directory

Now we have to verify that previous attributes had been modified, this can be done through ADSI edit tools (installed as a part of the support tools), under the schema find the attributes (CN=ms-Exch-Assistant-Name CN=ms-Exch-House-Identifier CN=ms-Exch-LabeledURI). Double click each of them, on the attributes tab in the "Select which properties to view" dropdown, select either Mandatory. In the next drop down "Select a property to view" select lDAPDisplayName. Then at the text in the box next to value, make sure that the three attributes same as the attribute name without the CN= and the dashes i.e. msExchAssistantName).

Now we can safely run adprep on the schema operations master. To do so, Log on to the console of the schema operations master with an account that is a member of the Schema Admins security group.
Click Start, click Run, type cmd, and then click OK.
X:\I386\adprep /forestprep
Where X:\I386\ is the path of the Windows Server 2003 installation media.
Verify that the adprep /forestprep changes have replicated on all the domain controllers in the forest.

After that, Run adprep /domainprep on the Infrastructure master. To do so, click Start, click Run, type cmd, and then on the Infrastructure master type the following command:
X:\I386\adprep /domainprep

Verify that domainprep completed successfully, and a replication had been initiated between the DCs.

In my scenario, I had a new server (windows 2003 SP1) which I promote it successfully to be the first domain controller running windows 2003, after preparing the schema.
After that I had transferred the FSMO roles to the new DC and set it as a Global catalog, then upgrade the old DC to windows 2003 (the one that it is not running exchange).


Transitioning from exchange 2000 to 2007 (Part2)
Transitioning from exchange 2000 to 2007 (Part 3)