Sunday, March 31, 2013

Exchange 2003 Shutdown Script

http://www.amset.info/exchange/shutdown-script.asp

Shutdown Script for Exchange 2000/2003
Author: Simon Butler, Exchange MVP, MCSE

This is the Exchange 2003/2000 version of this article. For the Exchange 2007 version - go here.

If you are running Exchange on a domain controller, then you will find that it takes the machine a long time to shutdown. This is because the domain functionality stops quicker than Exchange, therefore Exchange is unable to write to the domain controller and has to be be "killed" by the operating system.

This continual "killing" of the Exchange services, instead of allowing them to shutdown gracefully is not good for the database and is one of the prime reasons for recommending that Exchange is not installed on a domain controller.

A better option is to stop the services before you begin to shutdown the server. This will also cause the server to shutdown more quickly because it isn't waiting for the services to timeout.

Even if you have a dedicated Exchange server, if you are using a UPS, then you may also want to shutdown the Exchange services before the UPS shuts down the OS. In many cases the domain controller may shut down before Exchange, which will cause delays as Exchange needs to communicate with the the domain controller during the shutdown process.

While you can stop the services yourself using the services administrative tool, instead use a batch script with a shortcut on the desktop. Below is a sample script. Simply copy and paste it in to a new notepad document and save it as "stop-exchange.cmd".

Note: These scripts use the Exchange 2003 service names, for other versions of Exchange, simply look in service manager for the full names of the service.

net stop "Microsoft Exchange Information Store" /y net stop "Microsoft Exchange System Attendant" /y net stop "Microsoft Exchange IMAP4" /y net stop "Microsoft Exchange Routing Engine" /y net stop "Microsoft Exchange POP3" /y net stop "Microsoft Exchange Management" /y

If you are using a third party plug-in, then you may find that there is a dependency on that plug-in which can cause the script to fail. The /y at the end of each command should deal with it, but if you find that the third party service doesn't stop in time, adjust the script to include a delay. (Sleep is part of the Windows Resource Kit tools, if you don't have it installed on the server)

For example, this is a script used with an old version of McAfee Group Shield

net stop "McAfee GroupShield Exchange" /y sleep 30 net stop "Microsoft Exchange Information Store" /y net stop "Microsoft Exchange System Attendant" /y net stop "Microsoft Exchange IMAP4" /y net stop "Microsoft Exchange Routing Engine" /y net stop "Microsoft Exchange POP3" /y net stop "Microsoft Exchange Management" /y

Finally, you might also want a script to start Exchange again. This can be useful if you apply an update which requires a restart of the Exchange services, but don't need to restart the server.

net start "Microsoft Exchange Information Store" net start "Microsoft Exchange System Attendant" net start "Microsoft Exchange MTA Stacks" net start "Microsoft Exchange IMAP4" net start "Microsoft Exchange Routing Engine" net start "Microsoft Exchange POP3" net start "Microsoft Exchange Management"

You will notice that there are different services listed in each script. That is because the scripts take advantage of dependencies, therefore allowing you to stop or start one service and due to the dependencies it stops or starts a number of other services automatically. The /y command will answer Yes to any questions about stopping dependant services at the same time.

Shutdown or restart the server afterward stopping Exchange

If you are using these scripts to shutdown Exchange before a server is shutdown (for example by a UPS) or rebooted, then you may want to fully automate the process by scripting the shutdown/restart as well. This can be easily achieved by adding an extra line to the end of the script:

Restart the server

shutdown /r /t 00

Shutdown the server

No comments:

Post a Comment