In Exchange Server systems, you need to create Messaging API (MAPI) profiles whenever you build a new desktop or a new user joins the network. To create a MAPI profile, you need to know the name of the target Exchange server, which isn't that simple to provide in a clustered Exchange environment. And asking the employees typically isn't helpful. Most Exchange users don't remember their Exchange server's name, and new employees wouldn't likely know this information when they start their first day on the job.

To help alleviate the tedious and time-consuming task of creating MAPI profiles, Microsoft introduced transform (.mst) files for Windows Installer. The .mst files let you customize installation packages. Although these installation packages have many nice features, preparing them takes a lot of effort and expertise.

Fortunately, I came across a tool called RichProfile, which automates MAPI profile creation. Richard Coggins developed this freeware, which you can download at http://desktopengineer.com/downloads/ richprofile.zip.

RichProfile works at the command line. As the syntax

RichProfile.exe ServerName
  MailboxName ProfileName
  Y\N D\P\N

shows, RichProfile requires five command-line arguments. For the ServerName argument, you specify the name of the mailbox server. In a clustered environment, you can list the name of any server; RichProfile will automatically detect the correct mailbox server. For the MailboxName argument, you specify the name of the mailbox. If you want to use the default name, you can simply specify the %USERNAME% environment variable. For the ProfileName argument, you specify the name of the profile. Next, you need to tell Rich-Profile whether you want to delete a profile if one already exists. If you want to delete an existing profile, you specify Y; otherwise, you specify N.

With the last argument, you specify-the priority of the profile you're creating. As you probably know, you can have Outlook prompt users for the profile with which they want to log on or have Outlook always use a specified default profile. When you want the profile you're creating to be the default profile, you specify D. When you want Outlook to always prompt the user for the profile, you specify P. You can specify N to retain the previous priority state, whatever that might be. (If you're deploying RichProfile in a logon script, Outlook will create a profile with the default state when a new user logs on to the domain for first time. Typically, the default state is specified in the Control Panel Mail applet.)

In a domain, RichProfile will use the logged-on user's credentials to build a MAPI profile. If you're in a cross domain without any trust relationships, RichProfile will ask you for a username, password, and domain when it starts creating the profile. If you're using Group Policy, you can deploy a .bat script to create profiles for users. If you run the tool at a command prompt, you'll get a lot of useful information about this tool.

With RichProfile, you can create a MAPI profile in seconds. Afterward, you'll receive a message that states whether or not the profile was created.

—Brajesh Ranjan Panda