We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now


adprep Hell!!

Medium Priority
Last Modified: 2008-02-26
I am trying to add a 2003 server to our domain and remove all 2000 servers. When I run adprep on the 2000 GC it says there is a schema conflict with exchange 2000. I have tried all the ldifde scripts with no success. Can I just demote the exchange server then run adprep on GC with out messing up exchange?
Watch Question

Sam PanwarSr. Server Administrator

1. You have to not required this i think first stop the all the service of the exchange server then run adprep its work
2.you can also use the Deployment Tools for it
They have step by step instructions to help your upgrade go better for the Exchange portion.
Sam PanwarSr. Server Administrator


1) Install Windows 2003 server on the new box.

2) Update the active directory on the DC(running Windows
2000) to avoid mangling of AD Objects by following


3) Run Windows 2003 Server adprep/forestprep, &
adprep/domainprep on Windows 2003 server.

4) Run forestprep & Domainprep for exchange 2003 serverfrom Windows 2003 server(where exchange 2k3 will be
installed..) from windows 2003 server

5) Install Exchange 2003 on windows 2003 server

6) Move mailboxes from exchange 2000 to Exchange 2003 server by performing exchange tasks on active directory
users-->move mailboxes.

7) Follow the following article to remove Exchange 2000 server



Thanks for the response, but I had turned the exchange server off and still the adprep would not run. Does the exchange server need to be on and the services stopped? The link you posted says

The download you requested is unavailable. If you continue to see this message when trying to access this download, go to the "Search for a Download" area on the Download Center home page


Just an addition,

First make SURE you have a full backup of everything you will be working on. I cannot stress this enough.
Now make sure you have all available updates and service packs to both servers. Then on the 2000 server run:
adprep /forestprep from the i386 folder of the Windows 2003 CD.
once /forestprep is all done, run
adprep /domainprep from the i386 folder of the Windows 2003 CD.

Now your domain is ready to accept the new Windows 2003  DC.

Now join the Windows 2003 server to the domain as a member server (if you havent already)
Next run DC Promo  and select the option to add a Domain Controller to Esixting Domain in Exisiting Forest.

If everything was done right. You will now have 2 domain controllers in your domain.  Now force replication so that both servers are in sync (You can use Sites and services or Repmon from the Resource tools to force replication).

Make sure that if you are running DNS on the 2000 server that you also install it on the 2003 server. Also, update your DHCP server to reflect the new DNS Server (If DHCP is on the 2000 server transfer it to 2003.)

Now you have 2 options:
1. Demote the Windows 2000 server and let it transfer the FSMO roles automatically to the other DC (which is the 2003 DC) as part of the DCPROMO process
2. Transfer the FSMO Roles manually then run dc promo. ( I would choose this option)

If you chose option 1, then just run DCPROMO on the 2000 DC and cross your fingers. After DCPROMO is done the 2000 server will be just a member server. At which point you can unjoin and discard of the server (make sure you transfer anything else that may be on the server, for example file and printer shares before you unjoin.)

Now if you choose option 2. Start by transfering all 5 of the fsmo roles to the 2003 DC. A very good detailed documentatio n with *pictures* at http://www.petri.co.il/transferring_fsmo_roles.htm.

Once you transfer all the roles make sure that everything went well by determining the new role holders. Again documentation with *Pictures* here: http://www.petri.co.il/determining_fsmo_role_holders.htm

Now you can run DCPROMO on the 2000 server and demote it to a member server. Once a member server you can unjoin the server from the domain and discard of the server (make sure you tranfer anything else that may be on the server, for example file and printer shares before you unjoin.)

All done!!!

YOu might also want to read the below article on common mistakes on this type of operation:


Just another thought,

If you can afford to do this one step at a time, do it.
Because i see you want to use 2003 for exchange as welll....
Here is a beautiful article about it:

and i like petri stuff, it is good and it works..
another good site for exchange after you get it up and running is :

I didn't supply the article for the Flexible Single Master Operations (FSMO) roles...
from MS:


Thanks for everyones response. My problem is ADPREP /FORESTPREP WILL NOT RUN. It returns an error that there is a problem with the exchange 2000 schema. I have checked the microsoft kb and it says to download a hotfix but doesnt give a link to download it. I have checked on google for it as well with no luck.
You need to fix the things Exchange 2000 messed up in your AD.

do this:
ldifde.exe /i /f inetOrgPersonFix.ldf /c "DC=your" "DC=addomain,DC=name"

You'll find the inetOrgPersonFix.ldf file on the 2003 cd: \support\tools\support.cab

Read about it here:

After fixing your AD adprep should run fine.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts



I tried running that script and it gives me a non-specific error.  Just to make sure I set up right. Assuming my domain name is apple.com could you post the proper command for the ldifde.exe and the inetorgpersonfix.ldf setup please.

assuming your ad domain name is "apple.com" the command would be:

ldifde.exe /i /f inetOrgPersonFix.ldf /c "DC=apple,DC=com"

If your domain name is "some.sub.domain.apple.com":

ldifde.exe /i /f inetOrgPersonFix.ldf /c "DC=some,DC=sub,DC=domain,DC=apple,DC=com"


Do I make any changes to the script inetorgpersonfix.ldf or do I leave it as-is?

Leave it as is.


When you say:
do you mean the AD one or the exchange one ???
because exchange domainprep and forestprep are different........



Thanks jar3817 I have to put the project on hold for two more weeksends. But I will try this Monday.

miloudi- adprep will not run on the GC- Thanks

Thanks for everyone pitching in!!!

I will update monday.


Thank for everyone help

The domain wanted the prevent script.

ldifde -i -f inetorgprevent -v -c DC=X "DC=apple,DC=com"

Page editor please put this solution with the accepted answer


ldifde -i -f inetorgpersonprevent -v -c DC=X "DC=apple,DC=com"

Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.