Get IT Done: Setting up batch processes with ExMerge

Find out how to run ExMerge in completely unattended mode without displaying a Windows interface.

Net admins can use ExMerge for both basic and advanced tasks. If you’ve discovered some maintenance or preventative uses for the tool in your Exchange Server environment, you can schedule the utility to run these tasks on a regular basis. There is support for this, but you need to get the most recent version of the utility by contacting Microsoft Product Support Services. (It is not available as a download.)
Want to learn more about this utility? Read “Using ExMerge in the real world” for a look at basic uses for ExMerge. To find out how to use ExMerge to locate e-mail attachments or archive mailboxes, read “Tricks for using ExMerge to clean up your mail server,” which describes several advanced uses of ExMerge.
How to do it
To run ExMerge in completely unattended mode without displaying a Windows interface (i.e., for a scheduled operation), just append the –B command line switch to exmerge.exe. This forces ExMerge to pick up all its settings from an .ini file. ExMerge.ini is used by default, and it’s located in the same folder as the .exe file. However, you can specify an alternative .ini file by using the –F [filename] switch, where [filename] is the complete path to the .ini file to be used.

The combination of these two switches allows an administrator to schedule two or more ExMerge jobs that perform different operations. For example, one job might copy an administrator’s mailbox to a .pst file, while a second job combs mailboxes for messages containing large attachments and archives them in separate .pst files.

The scheduled command lines might read:
Exmerge.ini –B –F admincopy.ini
Exmerge.ini –B –F lgattchmnts.ini

Use the at.exe command to schedule the tasks, or the winat.exe interface from the Windows NT Resource Kit.

It is also possible to have ExMerge run unattended and display the Windows interface to show current progress. To do this, include the –D option on the command line. The –D switch should not be included when running ExMerge from the at.exe scheduler service.

When you run the utility in batch mode as a scheduled job, you also will need to ensure the job has sufficient access rights to the Exchange Servers to be able to complete the task successfully.

The default ExMerge.ini file is well documented with descriptions of each of its many optional settings. However, there are some settings—in addition to the default paths that ExMerge provides—that are required for a successful batch run.

To get started, you will need to set the MergeAction setting to 0 (Extract data to .pst files), 1 (Import from .pst files), or 2 (make a One-Step Merge from one server to another). Depending on your choice, you will need to set the Source and Destination Server Options (SourceServerName and DestServerName). Check the extensive documentation that accompanies the ExMerge utility for more details on each of the options in the exmerge.ini.

As always, test the batch run thoroughly before submitting it to ensure accurate results—especially if the job removes messages! (See the Archive feature in the previous column.)

With the recent intense focus on e-mail servers, courtesy of several virus attacks, I hope the tips in this ExMerge series of articles have helped you find some new ways to maintain your system.
If you'd like to share your opinion, start a discussion below or send the editor an e-mail.

Editor's Picks