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:
- Start a registry editor (e.g., regedit.exe).
- Navigate to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control registry subkey.
- Double-click WaitToKillServiceTimeout.
- Change the value from the default of 600000 (10 minutes) to something else (e.g., 20000 for 20 seconds), then click OK.
- 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.