日历诊断日志(CDL)包含Microsoft Exchange Online 邮箱的重要日历相关事件数据。 可以使用 CDL 获取有关日历项目(如会议)的详细信息,以帮助诊断问题。 例如,会议组织者可能会要求你找出谁取消了他们的会议。
有关如何分析数据的信息,请参阅 分析 Exchange Online 邮箱的日历诊断日志。
以下部分介绍了获取会议 CDL 的不同方法。
提示
建议使用 Get-CalendarDiagnosticObjectsSummary.ps1 脚本 获取 CDL,因为脚本处理并增强原始 CDL 以提供其他诊断信息。
使用 Get-CalendarDiagnosticObjectsSummary.ps1 脚本。
选择以下任一方法来获取原始 CDL、包含其他诊断信息的增强 CDL 和简洁的会议操作时间线:
重要
出于以下原因,我们建议使用会议 ID 而不是会议主题来获取 CDL:
- 您可以获取指定会议的 CDL,而不是为所有符合主题的会议获取 CDL。
- CDL 具有更详细的信息。
- 如果在运行脚本时指定了多个会议参与者,则必须使用会议 ID。
- 如果联系微软支持人员,系统可能会要求你使用会议编号获取CDL。
注意:31 天后会删除 CDL。 如果您没有足够的时间确定会议 ID,请立即通过主题获取 CDL。 然后,如果 CDL 仍然可用,请使用会议 ID 获取 CDL。
使用会议 ID 获取 CDL
执行以下步骤:
将 Get-CalendarDiagnosticObjectsSummary.ps1 脚本下载到本地文件夹。
如果尚未安装 ImportExcel 模块,请运行以下 PowerShell cmdlet 来安装它:
Install-Module -Name ImportExcel
使用以下任一方法查找会议 ID:
- 让遇到会议问题的用户 查找会议 ID。
- 以管理员身份自行查找会议 ID。
- 使用会议主题获取 CDL,然后从相关会议的时间表中提取会议 ID。
在包含脚本的文件夹中,在 Exchange Online PowerShell 中 运行以下 PowerShell 命令:
.\Get-CalendarDiagnosticObjectsSummary.ps1 -Identity "<organizer SMTP address>","<delegate SMTP address>","<attendee SMTP address>" -MeetingId "<meeting ID>" -TrackingLogs -Exceptions -ExportToExcel
备注
使用 Identity 参数指定会议的所有关键参与者,例如会议组织者、代理人和与会者。
该脚本在当前文件夹中创建以下Microsoft Excel 文件:
<CalLogSummary_简短的会议ID>.xlsx
该文件包含每个会议参与者的以下工作表:
-
<participant SMTP address>_TimeLine
:包含时间线 -
<participant SMTP address>
:包含增强型 CDL -
<participant SMTP address>_Raw
:包含原始 CDL
该文件还包含提供
Script Info
运行时信息的工作表,例如脚本命令、脚本版本、脚本运行时、PowerShell 版本和 OS 版本。-
使用会议主题获取 CDL
执行以下步骤:
将 Get-CalendarDiagnosticObjectsSummary.ps1 脚本下载到本地文件夹。
如果尚未安装 ImportExcel 模块,请运行以下 PowerShell cmdlet 来安装它:
Install-Module -Name ImportExcel
询问具有会议问题的用户提供会议的主题。
在包含脚本的文件夹中,在 Exchange Online PowerShell 中 运行以下 PowerShell 命令:
.\Get-CalendarDiagnosticObjectsSummary.ps1 -Identity "<user SMTP address>" -Subject "<subject of the meeting>" -ExportToExcel
该脚本在当前文件夹中创建以下 Excel 文件:
CalLogSummary_<short meeting ID>.xlsx
该文件包含以下一组工作表:
-
<SMTP address>_TimeLine
:包含时间线 -
<SMTP address>
:包含增强型 CDL -
<SMTP address>_Raw
:包含原始 CDL
-
备注
- 如果多个会议与会议的主题匹配,脚本将为每个会议生成一个 Excel 文件。
- 每个会议由会议的时间线工作表中的会议 ID (GUID) 唯一标识。 可以使用时间线工作表中的会议 ID 重新运行特定会议的脚本。
- 如果使用会议主题运行脚本,则不能指定多个会议参与者。 若要获取另一个参与者的 CDL,请重新运行脚本并传入该用户的标识,或使用 会议 ID 获取 CDL。
-
Subject 参数不支持通配符。 因此,搜索词(如
*lunch*
或project-202?
不会返回预期结果)。 但是,该脚本会自动对搜索词执行部分匹配搜索。 因此,搜索词lunch
与具有主题Sales lunch meeting
的会议匹配。 主题搜索不区分大小写。
使用 Get-CalendarDiagnosticObjects cmdlet 命令
运行 Get-CalendarDiagnosticObjects PowerShell cmdlet 以下载原始 CDL。
注意
- Get-CalendarDiagnosticObjects cmdlet 不会生成增强的 CDL 或会议时间线。
- 如果多个会议具有相同的主题,请使用会议 ID 唯一标识会议。
-
Subject 参数不支持通配符。 因此,搜索词(如
*lunch*
或project-202?
不会返回预期结果)。 但是,默认情况下,cmdlet 对搜索词执行部分匹配搜索。 因此,搜索词lunch
与具有主题Sales lunch meeting
的会议匹配。 若要执行完全匹配搜索,请将 ExactMatch 参数的值设置为$true
。 主题搜索不区分大小写。
示例 1
以下示例从 Amal Skye 的邮箱中获取所有“主题”属性完全匹配或部分匹配“IT 会议”的项目的 CDL:
Get-CalendarDiagnosticObjects -Identity "Amal Skye" -Subject "IT Meeting" | Export-Csv "<file path>" -NoTypeInformation
重要
每个匹配会议的会议 ID 位于 CleanGlobalObjectID
输出文件的列中。
示例 2
以下示例使用 CustomPropertyNames 参数返回会议的特定属性。 有关所有属性值的列表,请参阅 CustomPropertyNames 参数的值。
$customPropertyNames = "ClientIntent", "FreeBusyStatus", "From", "SendMeetingMessagesDiagnostics", "Sensitivity"
Get-CalendarDiagnosticObjects -Identity "Amal Skye" -MeetingID <meeting ID> -CustomPropertyNames $customPropertyNames | Export-Csv "<file path>" -NoTypeInformation
重要
可以从示例 1 获取会议 ID,也可以使用“获取会议 ID”中的任何 方法获取会议 ID。
使用 EAC
按照以下步骤下载原始 CDL:
在 Exchange 管理中心(EAC)中,导航到“疑难解答”“收集日志”“日历”。
选择“日历日志”以打开“日历诊断日志”窗格。
输入以下信息:
- 日历所有者的 SMTP 地址
- 会议的主题
选择开始。 Exchange Online 会将原始 CDL 下载到浏览器的下载文件夹。
注意
- EAC 不会生成增强的 CDL 或会议时间线。
-
“会议主题”字段不支持通配符。 因此,搜索词(如
*lunch*
或project-202?
不会返回预期结果)。 但是,EAC 会自动对搜索词执行部分匹配搜索。 因此,搜索词lunch
与具有主题Sales lunch meeting
的会议匹配。 主题搜索不区分大小写。