Calendar Repair Assistant In Exchange 2010…

Calendar Repair Assistant (CRA) is a new feature which came as part of Exchange 2010 RTM and has been enhanced in 2010 SP1. The main function of CRA is to make sure that there are no issues with calendar items in a user’s mailbox. It scans all calendar items (single and recurring ones) and checks both organizer’s and attendee’s calendar to make sure that there are no discrepancies. The purpose is to make sure recipients won’t miss meetings or have unreliable meeting information.

The CRA runs on the Mailbox server role and is a part of the Microsoft Exchange Mailbox Assistants service. All 2010 mailboxes are configured to run the assistant by default. The CalendarRepairDisabled parameter is set to false, which means that the feature is enabled. Running Get-Mailbox “name” | fl *calendar* confirms it

CRA enabled on mailboxes

But, there is no schedule set on the mailbox servers to run CRA. This effectively means that the feature is disabled by default. Running Get-MailboxServer “name” | fl *calendar* shows the different settings associated.

Default CRA schedule

In order to have this great feature do what it is supposed to do, a schedule needs to be set. In order to configure CRA to run from Saturday 19.00 till 23.00, the schedule format in the cmdlet should be Sunday.19:00-Sunday.23:00. You can also configure multiple time slots by giving the slots separated by commas. So, the command to set the schedule describe above is Set-MailboxServer “name” –CalendarRepairSchedule Saturday.19:00-Saturday.23:00

Set CRA schedule

Running Get-MailboxServer “name” | fl *calendar* confirms that the schedule has been set.

Get cra schedule set

Make sure that the schedule is set on all mailbox servers. The “CalendarRepairWorkCycle” parameter specifies the time span in which all mailboxes on the specified server will be scanned by the CRA. For example, if you specify five days for this parameter, the CRA will process all mailboxes on this server every five days. Calendars that have inconsistencies will be flagged and repaired according to the interval specified by the “CalendarRepairWorkCycleCheckpoint” parameter. For example, if you specify one day for this parameter, the CRA will query every day for new mailboxes that require processing. Set the parameters according to your requirements.

Setting CRA parametes

As you can see, the age limit for log files and the maximum size for the logs directory is set to unlimited. This should be changed in a production environment as it will eat the server space as time goes. I am not sure why Microsoft doesn’t set a schedule by default and keep the feature do what it is supposed to do!

Now that you know about Calendar Repair Assistant, set the schedule for CRA and let the helpdesk calls related to inconsistencies in calendar items (especially when using different platforms, say Mac & Windows) go away Winking smile

  1. “In Exchange 2010 Service Pack 1 (SP1), the CRA was changed from a time-based assistant to a throttle-based assistant.”

    “Use the set-mailboxserver cmdlet in the Exchange Management Shell to set the work cycle and work cycle checkpoint.”

    I do not think the CalendarRepairSchedule is used anymore.

  2. If i have to not set the CalendarRepairSchedule parameter.

    Will the CRA work on the mailbox server ?

    Does the two CalendarRepairWorkCycle parameters trump the CalendarRepairSchedule parameter.

    Since you have mentioned that “Calendars that have inconsistencies will be flagged and repaired according to the interval specified by the “CalendarRepairWorkCycleCheckpoint” parameter”


  3. Hi Longhorns978,

    It depends on how long you want the info for. I guess keeping the age limit at 30 days will help you to troubleshoot any issues. This way the logs will be deleted after 30 days thereby saving server space. Given that the log files are text files, it won't take that much space anyway.

    As CRA fixes the calendar items, it is highly unlikely that you will be looking through the logs.



Leave a Comment