Microsoft recommends against installing Exchange on a domain
controller, but does support this practice in environments that need to run
this way. However, if you do find that you need to run Exchange on a domain
controller–perhaps for budgetary reasons–make sure you know the limitations
and make an informed decision:

  • Once
    Exchange is installed on the domain controller, you cannot reduce the
    server to member server status.
  • Normally
    considered a best practice, don’t use the /3GB switch on domain controllers
    that are also running Exchange as this can result in Exchange using too
    much system RAM.
  • A shut
    down or restart of a domain controller running Exchange can take more than
    10 minutes due to the order in which services are unloaded for a shutdown.
    Before you restart these servers, manually stop the Exchange services to
    avoid these delays.
  • This
    installation method seriously hinders your high availability efforts as
    Exchange will use only the services offered by the host domain controller
    and will not seek out others if the AD services (i.e. Global Catalog
    servers) experience a problem.

In general, unless you absolutely have to run Exchange on a
domain controller, you should try to install Exchange to a member server.