After I install Microsoft Exchange Server 2003 on my domain controller (DC), why does the DC take so long to shut down?

A. Exchange relies heavily on Active Directory (AD) and uses several services to optimize AD communication. One of these services is the DSAccess service, which provides a cache of information from AD to various Exchange components, including the Information Store (IS), the Message Transfer Agent (MTA) and any other component that requires AD information. By recovering cached AD information, Exchange requires fewer direct queries to the DCs.

When you shut down a Windows Server 2003 DC, its services stop very quickly--faster than Windows 2000 services shut down, which is why this problem appears to be new to Windows 2003. An example of one such affected service is the Local Security Authority Subsystem (LSASS). DSAccess uses this service heavily. Because this service stops before DSAccess can stop cleanly, the DSAccess service goes through several timeouts before the system can shut down (these timouts are set to 10 minutes by default). Other Exchange services have a similar problem, causing even longer delays.

To resolve these delays, you can create a script that you manually run before stopping your computer, and the script will stop each Exchange service cleanly because AD is still running. Sample content for the script might include

net stop msexchangeis
net stop msexchangemta
net stop msexchangemgmt
net stop msexchangesa
net stop resvc
net stop smtpsvc
net stop w3svc
net stop httpfilter
net stop http
net stop iisadmin
net stop winhttpautoproxysvc

You can also add the shutdown command to the end of your script to automate the whole shutdown and restart process.

Another approach is to change the amount of time Windows 2003 waits before killing a service that's not responding. To adjust this timeout period, perform the following steps:

  1. Start a registry editor (e.g., regedit.exe).
  2. Navigate to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control registry subkey.
  3. Double-click WaitToKillServiceTimeout.
  4. Change the value from the default of 600000 (10 minutes) to something else (e.g., 20000 for 20 seconds), then click OK.
  5. Close the registry editor.

Be aware that changing this registry value will change the wait period for all services to stop, so setting this value too low might cause problems with services if the OS is killing them before they can cleanly finish.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.