Exchange Server can be installed on a Domain Controller and although this is a supported scenario it is definitely NOT a recommended scenario. When you have installed Exchange Server on a Domain Controller you should be very careful and not change the state of a Domain Controller:
I received an email from a customer where Exchange 2003 was installed on a Windows 2000 Domain Controller. There was approximately 1TB of data in the Exchange 2003 Databases. Now the customer wants to upgrade their Exchange 2003 environment to Exchange Server 2010.
So, what’s the best approach?
Exchange 2010 needs a minimum Domain Controller level of Windows 2003 SP1. Upgrading the Domain Controller is not an option (although possible according to some personal blogs I found on the Internet) so a temporary Exchange 2003 Server is needed. Move all resources to this new Exchange Server 2003 and uninstall Exchange from the Domain Controller.
Install a new Windows 2003 SP1 Domain Controller and decommission the old Windows 2000 Domain Controller. Raise the Forest Functional Level to “Windows Server 2003” and raise the Domain Functional Level to “Windows Server 2003 Native mode”.
Now you can install Exchange Server 2010 and move all resources from Exchange Server 2003 to Exchange Server 2010. When finished you can decommission the old Exchange Server 2003 environment.