Wednesday, 23 June 2010 18:18

Exchange 2010 Calendar Repair Assistant

Written by 

The Calendar Repair Assistant (CRA) is a configurable, time based mailbox assistance that runs within the Microsoft Exchange Mailbox Assistants service on mailbox role running on Exchange Server 2010. CRA actually detects and corrects the inconsistencies in calendar items (this can be single instance or reoccurring instances) of a user mailboxes homed on this mailbox server when it is enabled. This will help us in identifying the correcting the user meeting requests (MR) mismatches.

How conflict detection and correction works:

Calendar Repair Assistant uses the organizer copy as the master copy for all MRs, because it assumes that the organizer’s copy is the correct one. CRA then compares the attendee’s calendar item with the organizer’s one and if there a mismatch found, then it corrects the entry in the attendee’s MR item. The only exception to this rule is when checking for the response comparison, during this CRA assumes that the attendee’s response status is the correct one and updates the same in organizer’s tracking response information.

CRA corrects the inconsistencies on the server where it runs, however CRA reads the information from other mailbox server for the organizer’s MR item. CRA moves the repaired items to the deleted items folder of the recipient.

Certain Issues that a CRA corrects are:

  • Attendee's calendar item has the wrong time
  • Attendee's calendar item has the wrong location
  • Attendee's calendar item is missing
  • Attendee's calendar item tracking status doesn't match the organizer's tracking status
  • Attendee isn't on the organizer's attendees list
  • Attendee's recurring meeting doesn't match the organizer's recurring meeting
  • Organizer or attendees have multiple calendar meetings that appear the same
  • Organizer's calendar item is missing

How to configure the server side settings for CRA:

There are 3 parameters that has to be configured at the server level before enabling the CRA to be run on a mailbox, those are:

CalendarRepairIntervalEndWindow – This parameter value is for how far into the future the CRA has to look for issues in calendar items, by default the value is set to 30 days.

CalendarRepairMissingItemFixDisabled – Use this parameter to disable the CRA from fixing the errors, by default CRA fixes the identified inconsistencies of the items on an attendee’s calendar.

CalendarRepairSchedule – As name implies, this parameter tells the schedule when the CRA should run on a mailbox server. If the does not finish the processing during the windows that has been set, then it resumes the processing where it stopped in the last time. If you don't specify a schedule the CRA won't run.

Use Exchange Management Shell (EMS) to change the repair interval end window:

You can use the Set-MailboxServer command with the parameter CalendarRepairIntervalEndWindow to set this value.

Syntax: Set-MailboxServer -Identity <<mailbox server>> -CalendarRepairIntervalEndWindow <<no. of days>>

You can use the Get-MailboxServer cmdlets to retrieve the current setting,

Syntax: Get-MailboxServer -Identity <<Server Name>> |fl CalendarRepairIntervalEndWindow

Cmdlet: Get-MailboxServer -Identity ExchDic-Ex02 |fl CalendarRepairIntervalEndWindow

get-endwindow

Let us now change the number of days into the future that the CRA validates calendars to 90 days,

Cmdlet: Set-MailboxServer -Identity ExchDic-EX02 -CalendarRepairIntervalEndWindow 90

set-endwindow

Note - You can't use the EMC to set the calendar repair schedule, and you should be assigned the required permissions (Server Management and Organization Management role group).

Use Exchange Management Shell (EMS) to change the repair schedule:

As we discussed earlier, we will have to specify a schedule to run the CRA. We will use the CalendarRepairSchedule parameter along with the Set-MailboxServer cmdlet to specify the repair schedule.

Syntax: Set-MailboxServer -Identity <<Server Name>> -CalendarRepairSchedule <<"schedule">>

cmdlet : Set-MailboxServer -Identity ExchDic-EX02 -CalendarRepairSchedule "Sunday.3:00 AM-Sunday.5:00 AM","Saturday.3:00 AM- Saturday.4:00 AM"

schedule

This example sets the schedule for CRA to run on Sundays and Saturdays from 3:00 A.M to 5:00 A.M on Mailbox server EXCHDIC-EX02.

Note - You can't use the EMC to set the calendar repair schedule, and you should be assigned the required permissions (Server Management and Organization Management role group).

Use Exchange Management Shell (EMS) to enable or disable missing items fixes:

You can use the CalendarRepairMissingItemFixDisabled parameter with the Set-MailboxServer command.

Syntax: Set-MailboxServer -Identity <<Server Name>> -CalendarRepairMissingItemFixDisabled $true

cmdlet: Set-MailboxServer -Identity EXCHDIC-EX02 -CalendarRepairMissingItemFixDisabled $true

The value true will disble and false will enable (set) the automatic fixing of missing calendar items for Mailbox server EXCHDIC-EX02.

How to Enable or Disable Calender Repair for a Mailbox

To enable calendar repair for a mailbox, use the below command.

cmdlet: Set-Mailbox -Identity praveenb -CalendarRepairDisabled $false

cr-enable

To disable calendar repair for a mailbox, use the below command.

cmdlet: Set-Mailbox -Identity praveenb -CalendarRepairDisabled $true

cr-disable

Hope you have enjoyed reading it, I will come up with some other good features of exchange 2010 soon.

Reference: Understanding Calendar Repair

-Praveen