MOM Exchange Management Pack alerts

Part of my job involves supporting the Exchange Management Pack for Microsoft Operations Manager (MOM).  In doing so, we sometimes come across things that don't really make a lot of sense (or at least they don't to me).  Take the following scenario.

With MOM, you can create Mailboxes that MOM then uses to make sure it can log on to at specified intervals.  This is performed via a simple MAPI logon.  The Exchange Management Pack has a script that performs this action, and it triggers by default every 15 minutes.  When you deploy and configure the Exchange Management Pack, you can choose to create a mailbox for the entire server (per-server monitoring), or you can create a separate mailbox for every single mailbox store.

When the MAPI logon script runs, it logs an event based on the result.  The expected result is obviously a Success, but if it fails, there are several different reasons this could be occurring.  Many of these errors are easy to interpret, and have prescribed actions that can be done to troubleshoot/fix the issue.

One event that may get logged is a MAPI logon failure because the logon timed out.  At first glance, that may not really make sense - if a logon is going to work, it is going to work.  Keep in mind, however, that MOM uses scripts to perform the tests, and we could simply be dealing with the script taking a long time to run.  This results in a sort of false-positive.  The MAPI logon doesn't actually fail, and no clients are reporting issues, yet you have this glaring error in your MOM console.

The default timeout for the script itself is 30 seconds.  While this is sufficient in most cases, there may be circumstances where 30 seconds is insufficient, and is resulting in the script timing out (even if it is almost done...), which then results in the error being logged to MOM.  The solution is to modify the MAPI logon script itself and increase the timeout value.  In the script, you will find a line

var TIME_OUT_THRESHOLD = 30000

If you change the threshold to a higher value - 90000, the errors will go away because you are giving the script more time to run.