Applies to: Exchange Server 2010 SP3, Exchange Server 2010 SP2
Topic Last Modified: 2012-11-15
The Calendar Repair Assistant is a configurable mailbox assistant that runs within the Microsoft Exchange Mailbox Assistants service on Microsoft Exchange Server 2010 Mailbox servers. The Calendar Repair Assistant detects and corrects inconsistencies with single and recurring meeting items for mailboxes located on that Mailbox server. As a result, recipients won't miss meeting announcements or have unreliable meeting information.
By default, the CRA is not set to run automatically. To configure the CRA to run and repair calendar inconsistencies, use the set-mailboxserver cmdlet in the Exchange Management Shell to set the work cycle and work cycle checkpoint. The Exchange Management Console cannot be used to configure calendar repair log settings.
Contents
Calendar Repair Assistant Tasks
Conflict Detection and Resolution
Looking for management tasks related to calendars? See Managing Calendars.
Calendar Repair Assistant Tasks
The Calendar Repair Assistant performs the following functions:
- Detects inconsistencies The Calendar
Repair Assistant uses the organizer's copy of the calendar item as
a master copy for all meeting items. The assistant compares the
attendee's calendar item with the organizer's calendar item for
inconsistencies. The only exception to this rule is when the
assistant compares the attendee's and organizer's response status.
The assistant assumes that the attendee's response status is the
correct one, and, if necessary, updates the organizer's tracking
information.
- Determines if inconsistencies were
intentional If an inconsistency is detected,
the Calendar Repair Assistant determines whether the attendee
intentionally introduced the inconsistency. For example, an
attendee can introduce an inconsistency by deleting the meeting
request and not notifying the organizer. If the assistant
determines that the attendee didn't introduce the inconsistency, it
corrects the problem. If the assistant can't determine if the
inconsistency was intentional, it performs no further action.
- Corrects inconsistencies The Calendar
Repair Assistant corrects inconsistencies on the Mailbox server on
which it runs. However, if the organizer's mailbox is on a
different server than the attendee's mailbox, the assistant reads
from other Exchange 2010 Mailbox servers to compare the calendar
items. The assistant doesn't overwrite the recipient's calendar
information. Instead, it merges the information so data isn't lost.
In addition, the repair update messages are moved to the
recipient's Deleted Items folder. For more information about the
inconsistencies detected and repaired, see Conflict Detection and
Resolution later in this topic.
- Sends a calendar repair update message if a correction was
made Calendar repair update messages are sent
to users whose calendar items were updated by the Calendar Repair
Assistant. Instead of sending the message to the user's Inbox, the
assistant sends the message to the user's Deleted Items folder. By
doing so, a record of the repair is kept in the mailbox without
causing user confusion. If the user is experiencing calendar
inconsistencies, you can advise the user to look in the Deleted
Items folder for troubleshooting purposes. The assistant only sends
repair update messages if the issue is fixed.
For more information about configuring the Calendar Repair Assistant, see Managing Calendars.
Conflict Detection and Resolution
The Calendar Repair Assistant detects and corrects the conflicts described in the following table.
Calendar Repair Assistant conflict resolution
Conflict | Resolution | ||
---|---|---|---|
An attendee accepted the organizer's meeting request or recurring meeting request, but the meeting isn't on the attendee's calendar. |
The assistant checks the attendee's record in the mailbox database and finds that the attendee deleted the calendar item without sending a response. If the assistant can't determine that the meeting item was intentionally deleted by the attendee, the assistant creates the meeting request again. If the assistant determines that the attendee intentionally deleted the meeting request, no further action is taken. |
||
An attendee is missing an occurrence or exception within a recurring meeting series. |
The assistant checks the organizer's copy for a deleted occurrence or exception and finds that the attendee deleted the meeting request without sending a response. If the assistant can't determine that the meeting item was intentionally deleted by the attendee, the assistant creates the meeting request again. If the assistant determines that the attendee intentionally deleted the occurrence or exception, no further action is taken. |
||
An attendee's response status for the meeting doesn't match the status on the organizer's calendar item. |
The assistant updates the organizer's tracking status with the status on the attendee's calendar item. |
||
Attendees have the meeting on their calendars, but the organizer doesn't have those attendees listed in the attendee list. |
The assistant adds the attendees to the organizer's list of attendees.
|
||
An attendee is listed on some of the organizer's recurring meetings, but the attendee's recurrence pattern doesn't match the organizer's recurrence pattern. |
The assistant replaces the attendee's recurrence pattern with the organizer's recurrence pattern. |
||
The location of an attendee's meeting doesn't match the location recorded in the organizer's calendar item. |
If the attendee intentionally changed the meeting location, no action is taken. If the assistant can't determine that the location was intentionally changed by the attendee, the attendee's calendar item is appended with the meeting location on the organizer's calendar item. |
||
An attendee's start or end time is different from that of the organizer's start or end time. |
If the assistant determines that the attendee intentionally changed the time, no further action is taken. If the assistant determines that the conflict was unintentional, the start or end time is changed if either time differentiates more than two hours from the organizer's start or end time. |
||
The organizer or attendee has multiple meetings that have the same MAPI property identifier: LIL_GLOBAL_OBJID. |
The assistant compares all the duplicates and performs the following steps to correct the inconsistency:
|
||
An attendee has a single or recurring meeting on his or her calendar, but the organizer doesn't have this item on his or her calendar. |
The assistant checks whether the organizer intentionally deleted the meeting. If the organizer intentionally deleted the meeting, the assistant sends a cancellation to the attendees. If the assistant determines that the organizer didn't intentionally delete the meeting, the meeting is added back to the organizer's calendar. If the assistant can't determine the organizer's intent, no action is performed. |
Calendar Repair Log
Every time the Calendar Repair Assistant changes a calendar item on a user's mailbox, it writes the change to a calendar repair log (.log) file. The output of this .log file doesn't reveal personal data, such as the body of the message or attachments. The file only contains the minimum information to identify the meeting that was repaired and what repair actions were taken. Each time the assistant runs, one calendar repair log file is created for every mailbox. By default, calendar repair logging is enabled.
The calendar repair log is configurable and can be turned on or off for a server or user. For more information, see Managing Calendars.
The default calendar repair log path is <Exchange Installation Path>\v14\Logging\Calendar Repair Assistant.
The log files are created with the following naming convention:
CRAYYYYMMDDHH-X.Alias.log
- CRA = Calendar Repair Assistant prefix
- YYYY = year
- MM = month
- DD = day
- HH = hour
- X = instance
- Alias = mailbox alias
For example, the following repair log file indicates that a repair was made on Tony's mailbox on April 18, 2010, at 15:00 (3:00 P.M.), and that the repair was the third one made within that hour:
CRA2010041815-3.tony.log
Client Application Experience
The Calendar Repair Assistant can't access the same data for all client applications. As a result, users may get a different experience depending on which client application they use to review mail. Therefore, the assistant may not be able to determine if the action made by the user was intentional. As previously stated, the assistant corrects conflicts only if it can successfully determine that the attendee didn't intentionally introduce the conflict. If the assistant can't make this determination, no further action is taken.
The following table lists the different end-user calendaring tasks that could result in a calendar conflict. Based on which client application was used, the Calendar Repair Assistant can determine the user's intent.
Calendaring tasks
Scenario | Client application | Property recorded | ||
---|---|---|---|---|
Organizer opens the calendar item and modifies its properties. |
|
ModifiedStartTime ModifiedEndTime ModifiedLocation |
||
Organizer drags the meeting in his or her calendar view to a different time. |
|
ModifiedStartTime ModifiedEndTime |
||
Attendee responds as either accepted or tentatively accepted with or without sending a response message to the organizer. |
|
RespondedAccepted RespondedTentative |
||
Attendee declines a meeting request with or without sending a response message to the organizer. |
|
DeletedWithNoResponse RespondedDeclined |
||
Attendee declines an instance of a recurring meeting request with or without sending a response message to the organizer. |
|
DeletedExceptionWithNoResponse RespondedExceptionDecline |
||
Organizer cancels a meeting. |
|
MeetingExceptionCanceled |