Problems accessing Free/Busy information and logging into OWA in Exchange 2007

In this case, the customer had an extended Exchange 2003 outage, and so they brought some important users up with new Exchange 2007 mailboxes. However, some of these users were encountering problems with people accessing their Free/Busy (availability) information. Further investigation also found problems with logging into OWA ‘Premium’ for the users.

The Free/Busy issue showed with hashes in the availability, and when we hovered over the information in Outlook, we could see that it was giving us something to the effect of ‘the mailbox could not be contacted’.

The OWA logon issue exhibited with the error "The item that you attempted to access appears to be corrupted and cannot be accessed."

Searching for information on this OWA error, I found some other cases where the solution was that the Reminders information in the mailbox had become corrupt. In those cases, running Set-CASMailbox <user> -OWARemindersAndNotificationsEnabled:$False would stop the issue, but in our case, OWA still showed the problem, so it did not appear to be the reminders issue.

We then looked further at the OWA exception received and saw a reference to userconfigurationtype.

Digging around with MFCMAPI, we finally found that the problems with both availability and OWA being encountered were due to corruption in a couple of options that are stored in the Associated Contents table of the Calendar folder in the user's mailbox.

We used the following process to fix them:

  • Create a profile for that user
  • Launch MFCMAPI (downloaded from https://mfcmapi.codeplex.com)
  • Click Session, Logon and Display Store Table
  • Choose the user profile
  • Double click on the user's mailbox from the table
  • Expand the Root Container, and then Top of Information Store
  • Right click on the Calendar folder and choose Open Associated Contents Table
  • We figured out from the OWA exception information that the problems were the IPM.Configuration.CategoryList and IPM.Configuration.WorkHours items, so we deleted them both.

Once those items were deleted, we could access everything in OWA again and our availability information showed up for the users.