Using MFCMapi to connect to the Exchange System Attendant Mailbox / Arbitration Mailbox

Here’s some info on how to use MFCMapi to connect to the System Attendant Mailbox when needed. This particular example is for Free Busy messages filling up the System Attendant Mailbox, we want to clean them up.

In these specific Cases, you will get Warning and Logon Events in the Application Logs as follows:

 

Event Type: Warning
Event Source: MSExchangeIS
Event Category: General
Event ID: 8528
Date: 1/22/2009
Time: 9:51:30 AM
User: N/A
Computer: EX01
Description:
The mailbox for /o=(removed for security reasons)/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX01/cn=Microsoft System Attendant has exceeded the maximum mailbox size. This mailbox cannot send or receive messages. Incoming messages to this mailbox are returned to sender. The mailbox owner should be notified about the condition of the mailbox as soon as possible.

AND

Event Type: Error
Event Source: MSExchangeIS Mailbox Store
Event Category: Logons
Event ID: 1022
Date: 1/22/2009
Time: 9:51:30 AM
User: N/A
Computer: EX01
Description:
Logon Failure on database "MSG1\MSG1-MS1" - Windows account MYFAMILY\MAIL03$; mailbox /o=(Removed for security reasons)/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX01/cn=Microsoft System Attendant.
Error: 1245
Client Machine: MAIL03
Client Process: edgetransport.exe
Client ProcessId: 0
Client ApplicationId: Client=Hub Transport

 This is happening because the System Attendant Mailbox is running full , for some reason.

In this specific entry, we will talk about System Attendant Mailbox getting full of Free Busy messages.

The reason why this is happening in our scenario, is that the Public Folder Server, where the Free Busy messages are generated to, doesn’t have a Mailbox Database so that it can publish the Free Busy info through the System Attendant Mailbox.

 

The default value of the limit on the System Attendant Mailbox is 100000, you can modify this for example to 200000 like this:

 

Check the properties of System Attendant Mailbox in ADSIEdit.msc (ADSIEdit.msc is a part of Support Tools), path is below:

 

CN=Microsoft System Attendant,CN=<sservername,CN=Servers,CN=<Exchange 2007 Admin Group Name>,CN=Administrative Groups,CN=<orgname>,CN=Microsoft Exchange,CN=Services,CN=Configuration,CN=<domain>

 

Find an attribute named mDBOverHardQuotaLimit. It should have by default value 100000, modify it to 200000 to increase the mailbox size limit of System Attendant mailbox.

 

Ok, now back to logging into the System Attendant Mailbox using MFCMapi:

 

We need the following tool: https://mfcmapi.codeplex.com/

 

1.) Create an Outlook Profile, in Online Mode.

 

2.) Launch MfcMapi.exe, select Session -> Logon Only ( Does Not display stores ), choose the profile created under the previous step, select MDB – get Mailbox Table.

 

3.) Enter the name of the server that owns the store/mailbox you wish to view.

 

4.) Double click the SystemMailbox.

 

5.) Under SpecialPrivateFolderFreeBusyStorage , you will see the Free Busy Messages, select them, right click them and do a hard delete and you're done.

 

Updated content:

We saw that under Exchange 2007 sometimes these steps don't work as expected so here's another way of doin' it:

1.) Create a admin Outlook Profile

2.) Launch MfcMapi.exe, select Session -> Logon Only ( Does Not display stores ), choose the profile created under the previous step

3.) Go in ADSIEdit and check out the ExchangeLegacyDN of the System Mailbox you are trying to access - copy it

4.) In MFCMapi, go to MDB -> Open Other Mailboxes -> By DN , paste the DN of the System Mailbox and you should be in.

5.) Folder name is still SpecialPrivateFolderFreeBusyStorage , so check for Free Busy messages there and delete them.

 

Exchange 2010:

In Exchange 2010 we can also log into the Arbitration Mailbox if needed, here are the steps:

1.) By default arbitration mailboxes are hidden from the GAL, so in order to create a profile for such a mailbox you need to make them visible.

This can be done by setting the property HiddenFromAddressListsEnable to false, e.g.:

 Set-mailbox -Arbitration "ArbMbx SERVER" -HiddenFromAddressListsEnabled $false

2.) You also need to give the admin account full mailbox access:

Add-MailboxPermission -Identity "ArbMbx SERVER" -User Administrator -AccessRights FullAccess

 

3.) After performing these two steps you can create a profile and access the mailbox using MFCMapi and Outlook.

 

 

  If you have any questions, please send me an Email to patrisel@microsoft.com

 

 Patrick