Microsoft Exchange Server MAPI Editor
Topic Last Modified: 2007-05-31
The Microsoft® Exchange Server MAPI Editor Tool, which is a sample MAPI client, replaces the Information Store Viewer (MDBVu32). With the MDBVu32 tool you could view or set details about a user's message storage files. These files consist of the private information store; the personal folder file (.pst), the public store, and the offline folder file (.ost). MAPI Editor provides the same or improved functionality and an improved user interface.
MAPI Editor is useful to troubleshoot problems with help from Microsoft Customer Support Services. However, when you use this tool, you should have knowledge of MAPI. For more information, see the MAPI Programmer's Reference in the MSDN® library at https://go.microsoft.com/fwlink/?linkid=24705.
MAPI Editor can be used to view the low-level contents (raw data) of the Exchange storage databases using the MAPI interface.
Warning This is a powerful tool whereby you can change raw data. Changes to data may be difficult to reverse. This tool enables the user to change the data that are not valid values and to enter corrupted data. This can be difficult or impossible to recover from. This tool is reserved for professionals who understand how MAPI and Exchange work and should not be used casually.
Installing MAPI Editor
MAPI Editor can be used on the Exchange server or a personal folder file that has a MAPI profile and user level access. For this program to successfully work for researching system account issues against an Exchange server, the user may have to be logged on with the Microsoft Exchange Service Account or have Service Account administrative permissions. For information about how to grant these permissions, see Microsoft Knowledge Base article 823018, "Overview of Exchange administrative role permissions in Exchange 2003" at https://go.microsoft.com/fwlink/?linkid=3052&kbid=823018.
The Microsoft Exchange store service must be running to use MAPI Editor against an Exchange store. The MAPI messaging subsystem uses MAPI profiles to log on mailboxes.
Download the MAPI Editor tool from https://go.microsoft.com/fwlink/?linkid=68173 and then double-click the mfcmapi.exe icon. Follow the instructions in the next section to start MAPI Editor.
How to use the MAPI Editor Interface
MAPI Editor is a series of Microsoft Foundation Classes (MFC) dialog boxes that either implement a directory hierarchy in the navigation pane and a property list in the right pane, or implement a list of objects in the top pane and a property list in the bottom pane. Every dialog box has several menu items that you can use to act on the active items.
To start MAPI Editor
Double-click the mfcmapi.exe icon, and then click OK to close the Microsoft Exchange Server MAPI Editor Help screen and to display the main window.
In the Microsoft Exchange Server MAPI Editor main window, click Session, and then click Logon and Display Store Table to open the mailbox.
Continue with the task that you want to do.
By clicking a MAPI Editor menu selection, you get additional commands. All objects in the directory hierarchies and object lists support a right-click menu, with actions that can be applied to the selected objects. Additionally, the property pane has its own right-click menu for manipulating properties.
How to use the Other Menu
The Other menu has a selection, Open Main Window, which opens up a new copy of the initial window. You can use this option if the window was dismissed, and you need to return to it. Or, use it if you need two windows open in the same process.
The Options selection provides a Set Options screen for the MAPI Editor.
Alternative Logon Selections
The Logon and Display Store Table will be the usual method for logging on, although if you select Logon with Flags, you can pass flags to MAPILogonEx that are documented in MAPI. For a complete definition of options, see the MAPI Programmer's Reference.
Logon Only (Does not display stores) can be used to log on without opening the store table. This may be useful for some scenarios.
Load MAPI, Unload MAPI, MAPIInitialize, and MAPIUninitialize are advanced operations which, if used incorrectly, can destabilize MAPI in the MAPI Editor process, possibly even causing crashes. Be careful when you use these options.
Basic Operations of MAPI Editor
The following sections outline common tasks you can perform by using MAPI Editor. Use MAPI Editor to do the following tasks:
View and modify properties on any item that can be accessed by using MAPI. Save these properties to a disk for more advanced operations, such as before and after comparisons.
Display all folders and subfolders in any message store
Display any address book that is loaded in a profile
Delete the delegate's rule
Delete an Out of Office Assistant rule
Access hidden mailboxes such as the System Attendant mailbox or a Simple Mail Transfer Protocol (SMTP) mailbox
Reset permissions on Public Folders
Viewing Items
The following sections describe viewing operations using MAPI Editor.
Viewing an Exchange Store
To view an Exchange store
Start MAPI Editor.
In the main Microsoft Exchange Server MAPI Editor window, click Session, and then click Logon and Display Store Table.
In the Choose Profile dialog box, select the user profile for the Exchange store that you want to view, and then click OK.
In the top pane, click the Exchange store that you want to view.
The properties of the currently selected Exchange store are displayed in the lower pane.
Locating the Inbox
Many common operations require that you first locate a specific folder, such as the Inbox or Sent Items folder.
To locate the Inbox folder
Start MAPI Editor.
In the Mailbox window, you will see the Mailbox and Public folders instances listed in the Display Name column.
Note
If there are multiple entries, there could be several personal folder files (.pst files). If you are not sure which file is the default delivery store, look in the PR_DEFAULT_STORE column. If there is a False in the column, the file is not the default delivery store. However, if there is a True in the column, the file is the default delivery store.
Double-click the mailbox in the list. The mailbox then opens in a separate window.
Expand the root container. This displays the objects in the list that are in the mailbox, such as IPM_SUBTREE, Common Views, Shortcuts, and so on. This is typical for a mailbox where the following conditions are true:
The mailbox resides on a server that is running Exchange Server 2003.
The mailbox MAPI profile was configured by using Microsoft Office Outlook® 2003.
The mailbox is using search folders.
Expand IPM_SUBTREE. Now you will see the folders that are typically displayed in Outlook, such as Inbox, Outbox, Sent Items, and so on.
Viewing and Changing Profile Information
MAPI Editor can view and edit profile information from the registry through the MAPI interfaces. For example, suppose you are trying to determine why Outlook is connecting to an old out-of-service server named OL-SERVER-01. You can use MAPI Editor to look at all the profile properties for a property that has this string in its value. From the Profile Menu, select Show Profiles to view and modify profiles.
Viewing Tables
Table data is displayed the same as for folder content, hierarchy tables, attachments, and recipients.
Viewing Special Folders under Mailbox Root Folder
Special folders are not visible to a user who is using Outlook because they are not under the IPM Subtree (Top of Information Store) node. Because MAPI Editor displays message stores from their root folder, these folders will be visible. The special folders that are created by Exchange store and Outlook include, but are not limited to the following:
Common Views
Deferred Action
Finder
Free/Busy Data
Reminders
Schedule
Shortcuts
Spooler Queue
Top of Exchange store
Views
Viewing Store Objects
Looking for "Hidden" Folders Created by Third- Party Software
Hidden folders are created above the IPM Subtree and can be removed only by using MAPI Editor. Cases have been experienced where mailbox size seemed incorrect until such a folder was noticed.
Viewing a Specific Property of a Message
MAPI Editor can also be used to examine specific properties of a message or folder. For example, you can see when a message was last modified by looking at the PR_LAST_MODIFICATION_TIME on the message.
Deleting Items
The following sections describe how to delete items such as the following:
Delegate's rule
Out of Office Assistant rule
Store objects from the Exchange store
Free/Busy information
Event scripts
Deleting the Delegate's Rule
To delete the Delegate's rule using MAPI Editor, follow these steps. Note that this procedure removes all delegates and their rules for a specific user.
To delete the delegate's rule for a specific user
On an Exchange server, or on a workstation that has Microsoft Office Outlook® 2003 installed, log on as the mailbox owner, and then create a MAPI profile that points to the mailbox that has the delegate rule to be deleted.
Locate the Inbox folder.
Right-click the Inbox folder, and then click Display Rules Table. The Rules Table window opens. The top of the Rules Table window displays the rules that are configured on this mailbox.
Note
The Rules Tables window consists of two panes. In the top pane of the window, the rule properties are listed in columns that can be viewed by scrolling horizontally. In the bottom pane, the same rule properties are listed vertically. To view the vertical list of properties in the bottom pane, click the rule in the top pane.
A mailbox rule, such as a rule that is created by using the Rules Wizard in Outlook to move certain messages to a specific folder, has the PR_RULE_PROVIDER property that has a value of RuleOrganizer.
If a delegate rule is configured on a mailbox, the PR_RULE_PROVIDER property is Schedule+EMS Interface.
The Rule Name is in the second column of the top pane of the Rules Table window. The Delegate Rule in the top pane will be shown as blank in this column.
In the top pane, scroll to the column that is named PR_RULE_PROVIDER. This is usually the eighth or ninth column. The PR_RULE_PROVIDER property will be Schedule+EMS Interface.
To delete the Delegate rule for the mailbox, right-click the rule with the PR_RULE_NAME listed as blank and the PR_RULE_PROVIDER listed as Schedule+EMS Interface, and then click Delete. This deletes the rule from the mailbox.
Note
If the mailbox that the Delegate rule is detected from has more than one delegate, open Outlook and delete the remaining delegates. Then, add the delegates again.
Deleting an Out of Office Assistant Rule
You can also use MAPI Editor to delete the Out of Office Assistant rule. Outlook automatically re-creates this rule.
To delete an Out of Office Assistant rule using MAPI Editor
Locate the Inbox folder.
Right-click the Inbox folder, and then click Open Associated Contents Table, which contains the "hidden messages" of the Inbox.
Look for items whose message class is IPM.Note.Rules.OofTemplate.Microsoft, select them in the Microsoft Exchange Server MAPI Editor window, and then click Delete.
Note
You can move the items to the Deleted Items folder, or permanently delete them. After old out-of-office messages are deleted, new messages should be created.
Deleting Store Objects from the Store
Cleaning Views and Reminders
Views and reminders can be removed by using Outlook command line switches. If this does not remove the views and reminders, MAPI Editor may be able to remove them.
Deleting Corrupted Folders that Cannot be Accessed
After you remove a system folder from a mailbox by using MAPI Editor, the Outlook command line switch "resetfolders" is used to re-create the deleted folder. This is preferred to deleting the entire mailbox when a backup is unavailable.
Deleting Corrupted Free/Busy Messages
Free/Busy information is message-based. A client publishes a bitmask of their Free/Busy information in a message in a public folder that has the domain name of the user as the subject of the message.
Every time that a user changes their calendar, a new message is written to the system Free/Busy folder (overwriting the previous message). If the original message is corrupted, subsequent messages will also be corrupted.
There are two ways to correct corrupted Schedule+ Free/Busy messages, or issues of Schedule+ Free/Busy information not being updated or viewed for particular users.
Removing Free/Busy Information from the Schedule+ Free/Busy Folder
To remove an individual's Free/Busy information from the Schedule+ Free/Busy folder, follow these steps.
To remove Free/Busy information from the Schedule+ Free/Busy folder
Log on as an account that has Exchange Full Administrative permissions. For more information about permissions, see Microsoft Knowledge Base article 823018, "Overview of Exchange administrative role permissions in Exchange 2003" at https://go.microsoft.com/fwlink/?linkid=3052&kbid=823018.
Start MAPI Editor.
On the Session menu, click Logon and Display Store Table.
Note
If the Choose Profile dialog box does not appear, you are probably already logged on to a profile. Log off the client and profile, and try step 3 again.
Select the profile that you created for the directory service mailbox, and then click OK.
On the MDB menu, click Open Public Folder Store, select Use Admin Privileges, and then click OK.
In the Public Folders window, expand Public Root, and then expand NON_IPM_SUBTREE. The SCHEDULE+ FREE BUSY folder is displayed.
Expand the SCHEDULE+ FREE BUSY folder.
The subfolders of the Schedule + Free/Busy folder will be of the form EX:/o=Organization/ou=domain.
Double-click the appropriate folder to open it.
Note
The folder could have several messages in it. Press Escape (ESC) to stop loading messages.
Table/Create and Apply Content Restriction can be used to restrict the table to show only messages you are looking for. For example, because the subjects of free/busy messages take the form USER-/CN=container/CN=username, a restriction on PR_SUBJECT (0x0037001E) for the value "username" with the flags 0x00010001 (FL_SUBSTRING | FL_IGNORECASE) could be used to locate one specific message. Note that on large folders, restrictions may take time to apply.
When the problem message is located, if you want to delete it, right-click the message, and then click Delete Message.
When you are prompted, select Permanent Deletion (deletes to deleted item retention…) from the drop-down list, and then click OK.
Using Outlook, create a new appointment for this user to force re-creation of the Free/Busy message.
These steps may resolve some problems with Free/Busy visibility. If the information is still not visible, return to step 1. Again, ensure that two messages do not exist. If the corrupted messages do exist, follow the steps to remove, and then re-do the process.
Removing Event Scripts
If an Event script is running against a mailbox that you want to move, you must unpublish the script before you move the mailbox. Then, you can republish the script.
Unpublish the Event scripts through Microsoft Outlook. However, if you move a mailbox and forget to unpublish a script, you can clean it up by using MAPI Editor. Use MAPI Editor to remove event scripts when the script does not start, and if re-publishing it through Outlook does not resolve the issue. This can occur if a mailbox that has an event script running against it is moved.
Event scripts are located in the Associated Contents table of the folder on which they were published.
Resetting Permissions on Public Folders
To reset permissions on public folders
Start MAPI Editor.
In the Choose Profile dialog box, select a profile, and then click OK.
On the MDB menu, click Open Public Folder Store, select Use Admin Privileges, and then click OK.
In the left pane, expand Public Root, and then expand IPM_SUBTREE.
Right-click the folder that you cannot access in Exchange System Manager, and then click Reset Permissions on Folder Contents.
On the File menu, click Exit.
Limitations of MAPI Editor
Currently, MAPI Editor is available in U.S. English only and it is not localized into different languages. However, MAPI Editor will work against non-U.S. English mailboxes.