Get Calendar diagnostic logs for Exchange Online mailboxes
Calendar diagnostic logs (CDLs) contain important calendar-related event data for Microsoft Exchange Online mailboxes. You can use CDLs to get detailed information about calendar items, such as meetings, to help diagnose issues. For example, a meeting organizer might ask you to find out who canceled their meeting.
For information about how to analyze the data, see Analyze Calendar Diagnostic logs for Exchange Online mailboxes.
The following sections present different methods to get the CDLs for a meeting.
Tip
We recommend that you use the Get-CalendarDiagnosticObjectsSummary.ps1 script to get CDLs because the script processes and enhances the raw CDLs to provide additional diagnostic information.
Use the Get-CalendarDiagnosticObjectsSummary.ps1 script
Select either of the following methods to get raw CDLs, enhanced CDLs that contain additional diagnostic information, and a concise timeline of meeting actions:
Important
For the following reasons, we recommend that you get CDLs by using the meeting ID instead of the subject of the meeting:
- You get CDLs for the specified meeting instead of for all meetings that match the subject.
- The CDLs have more detailed information.
- You must use the meeting ID if you specify multiple meeting participants when you run the script.
- If you contact Microsoft support, you might be asked to get CDLs by using the meeting ID.
Note: CDLs are removed after 31 days. If you don't have sufficient time to determine the meeting ID, get the CDLs right away by using the subject. Then, get CDLs by using the meeting ID if the CDLs are still available.
Get CDLs by using the meeting ID
Follow these steps:
Download the Get-CalendarDiagnosticObjectsSummary.ps1 script to a local folder.
If the ImportExcel module isn't already installed, run the following PowerShell cmdlet to install it:
Install-Module -Name ImportExcel
Find the meeting ID by using any of the following methods:
- Ask the user who has the meeting issue to find the meeting ID.
- Find the meeting ID yourself as an admin.
- Get CDLs by using the subject of the meeting, and then extract the meeting ID from the timeline worksheet for the relevant meeting.
In the folder that contains the script, run the following PowerShell command in Exchange Online PowerShell:
.\Get-CalendarDiagnosticObjectsSummary.ps1 -Identity "<organizer SMTP address>","<delegate SMTP address>","<attendee SMTP address>" -MeetingId "<meeting ID>" -TrackingLogs -Exceptions -ExportToExcel
Note
Use the Identity parameter to specify all key participants of the meeting, such as the meeting organizer, delegates, and attendees.
The script creates the following Microsoft Excel file in the current folder:
CalLogSummary_<short meeting ID>.xlsx
The file contains the following worksheets for each meeting participant:
<participant SMTP address>_TimeLine
: Contains the timeline<participant SMTP address>
: Contains the enhanced CDLs<participant SMTP address>_Raw
: Contains the raw CDLs
The file also contains a
Script Info
worksheet that provides runtime information, such as the script command, script version, script runtime, PowerShell version, and OS version.
Get CDLs by using the subject of the meeting
Follow these steps:
Download the Get-CalendarDiagnosticObjectsSummary.ps1 script to a local folder.
If the ImportExcel module isn't already installed, run the following PowerShell cmdlet to install it:
Install-Module -Name ImportExcel
Ask the user who has the meeting issue to provide the subject of the meeting.
In the folder that contains the script, run the following PowerShell command in Exchange Online PowerShell:
.\Get-CalendarDiagnosticObjectsSummary.ps1 -Identity "<user SMTP address>" -Subject "<subject of the meeting>" -ExportToExcel
The script creates the following Excel file in the current folder:
CalLogSummary_<short meeting ID>.xlsx
The file contains the following set of worksheets:
<SMTP address>_TimeLine
: Contains the timeline<SMTP address>
: Contains the enhanced CDLs<SMTP address>_Raw
: Contains the raw CDLs
Note
- If more than one meeting matches the subject of the meeting, the script generates an Excel file for each meeting.
- Each meeting is uniquely identified by a meeting ID (GUID) in the timeline worksheet for the meeting. You can rerun the script for a specific meeting by using the meeting ID from the timeline worksheet.
- You can't specify multiple meeting participants if you run the script by using the subject of the meeting. To get the CDLs for another participant, rerun the script and pass in the identity of that user, or get CDLs by using the meeting ID.
Use the Get-CalendarDiagnosticObjects cmdlet
Run the Get-CalendarDiagnosticObjects PowerShell cmdlet to download raw CDLs.
Note
- The Get-CalendarDiagnosticObjects cmdlet doesn't generate enhanced CDLs or a meeting timeline.
- If multiple meetings have the same subject, use the meeting ID to uniquely identify a meeting.
Example 1
The following example gets the CDLs from Amal Skye's mailbox for all items for which the Subject property is an exact or partial match for "IT Meeting":
Get-CalendarDiagnosticObjects -Identity "Amal Skye" -Subject "IT Meeting" | Export-Csv "<file path>" -NoTypeInformation
Important
The meeting ID for each matching meeting is in the CleanGlobalObjectID
column of the output file.
Example 2
The following example uses the CustomPropertyNames parameter to return specific properties for a meeting. For a list of all property values, see Values for the CustomPropertyNames parameter.
$customPropertyNames = "ClientIntent", "FreeBusyStatus", "From", "SendMeetingMessagesDiagnostics", "Sensitivity"
Get-CalendarDiagnosticObjects -Identity "Amal Skye" -MeetingID <meeting ID> -CustomPropertyNames $customPropertyNames | Export-Csv "<file path>" -NoTypeInformation
Important
You can get the meeting ID from Example 1, or by using any of the methods in Get the ID of a meeting.
Use the EAC
Follow these steps to download raw CDLs:
In the Exchange admin center (EAC), navigate to Troubleshoot > Collect Logs > Calendar.
Select Calendar Logs to open the Calendar Diagnostic Logs pane.
Enter the following information:
- SMTP address of the calendar owner
- Subject of the meeting
Select Start.
Exchange Online downloads the raw CDLs to your browser's download folder.
Note
- The EAC Troubleshoot menu is being rolled out gradually and might not be available in your organization yet.
- The EAC doesn't generate enhanced CDLs or a meeting timeline.