会议 ID 是一个唯一标识符,可用于 获取特定会议的日历诊断日志 (CDL)。 虽然你可以使用会议的主题来获取 CDL,但该方法将为与主题匹配的所有会议生成不太详细的 CDL。 因此,建议使用会议 ID 来获取 CDL。
提示
会议 ID 是一个 GUID,以 040000008200
开头,例如 040000008200E00074C5B7101A82E00800000000A0D1E89273EFDA010000000000000000100000002D9427567554FA4AA9162A58A8B968CB
。
非管理员方法
根据 Outlook 客户端选择以下方法之一:
经典 Outlook for Windows
在 Outlook 日历中查找会议,然后打开它。 如果会议是定期会议,并且你想要整个系列的会议 ID,请在系统提示时选择 整个系列 。 否则,如果希望系列中单个会议的会议 ID,请选择 “仅此 ID”。
在会议窗口中,选择“ 文件>另存为”,然后选择“ 保存 ”以将会议项另存为.ics文件。
在文本编辑器中打开.ics文件,然后搜索
UID:
。 UID 值是会议 ID,如以下示例所示:UID:040000008200E00074C5B7101A82E00800000000A0D1E89273EFDA010000000000000000100000002D9427567554FA4AA9162A58A8B968CB
新的 Outlook for Windows
在“收件箱”或“已删除邮件”文件夹中找到以下会议通知之一:
- 会议邀请
- 与会者响应
- 会议更新
- 会议取消
右键单击会议项,选择“ 另存为”,然后选择“ 保存 ”,将会议项另存为计算机上的文件夹作为.eml文件。
在文本编辑器中打开.eml文件,然后搜索
UID=
。 如果文本存在,则 UID 值为会议 ID。 如果文本不存在,请转到下一步。搜索以
QkVHSU46VkNBTEVOREFS
文本块开头和结尾=
的 Base64 编码文本块,然后解码文本块。 可以使用以下任一方法对 Base64 编码的文本进行解码:运行以下 PowerShell 代码:
$base64Text = "<Base64-encoded text>" $decodedText = [Text.Encoding]::Utf8.GetString([Convert]::FromBase64String($base64Text)) $decodedText | findstr "UID:"
注意:Base64 编码的文本块可以包含空格,因此请确保使用引号将文本块括起来。
使用桌面应用。 例如,如果已安装 MFCMAPI,请选择“工具>十六进制编辑器”以打开“十六进制编辑器”窗口,然后将 Base64 编码的文本粘贴到十六进制编辑器窗口的 Base 64 部分。 解码的文本显示在十六进制编辑器窗口的“文本”(Ansi/Unicode)部分中。
以下屏幕截图显示了 .eml 文件中 Base64 编码的文本块示例。
在解码的文本中,搜索
UID:
。 UID 值是会议 ID,如以下示例所示:UID:040000008200E00074C5B7101A82E00800000000A0D1E89273EFDA010000000000000000100000002D9427567554FA4AA9162A58A8B968CB
Mac 版 Outlook
注意
此方法适用于新的 Outlook for Mac 和经典 Outlook for Mac。
在 Outlook 日历中查找会议,然后将会议从 Outlook 日历拖动到计算机上的文件夹。 此操作将会议项保存为文件夹中.ics文件。
在文本编辑器中打开.ics文件,然后搜索
UID:
。 UID 值是会议 ID,如以下示例所示:UID:040000008200E00074C5B7101A82E00800000000A0D1E89273EFDA010000000000000000100000002D9427567554FA4AA9162A58A8B968CB
Web 上的 Outlook
使用以下任一方法。
提示
如果 Outlook 收件箱或已删除邮件文件夹包含会议通知,例如会议邀请、与会者响应、会议更新或会议取消,请选择“方法 A”。 否则,请选择“方法 B”。
方法 A:使用为 新的 Outlook for Windows 提供的相同步骤。
方法 B:使用 Microsoft Edge 中的网络工具 ,如以下步骤中所述:
在 Edge 浏览器中打开日历 ,但不选择会议。
在浏览器菜单中,选择“更多工具>开发人员工具打开开发人员工具窗格。
在 “网络 ”选项卡上,选择“ 筛选器 ”图标,然后在筛选器框中输入 GetCalendarEvent ,如以下屏幕截图所示。
选择日历中的任意一天(单击),然后选择会议。 网络请求条目应显示在“ 名称” 列中。
选择“ 名称 ”列中的条目,然后选择“ 响应 ”选项卡。 响应正文中的 UID 值是会议 ID。
注意
如果选择了错误的会议,必须重新开始,请刷新网页,然后重复步骤 4 和步骤 5。
管理方法
根据你是否知道会议的主题,选择以下方法之一:
主题可用
在 Exchange Online PowerShell 中运行以下命令,以获取与搜索条件匹配的会议的会议 ID。 搜索条件是会议的主题和会议参与者的用户 ID。 该代码使用 Get-CalendarDiagnosticObjects cmdlet 获取每个会议的开始时间和 ID。
$meetingSubject = "<subject of the meeting>"
$userId = "<ID of a user who has the meeting in their calendar>"
$cdls = Get-CalendarDiagnosticObjects -Identity $userId -Subject $meetingSubject -ExactMatch $true
$cdls | Sort -Unique CleanGlobalObjectId | FL SubjectProperty, CleanGlobalObjectId, StartTime
对于输出中列出的每个会议,CleanGlobalObjectId 参数的值是会议 ID,如以下屏幕截图所示。
如果输出列出了多个会议,请要求用户确认会议时间。
主题不可用
选择以下任一方法:
使用 Exchange Online PowerShell
在 Exchange Online PowerShell 中运行以下命令,以获取与搜索条件匹配的会议的会议 ID。 搜索条件是会议参与者的会议时间和用户 ID。 该代码使用 Get-CalendarViewDiagnostics 和 Get-CalendarDiagnosticObjects cmdlet 获取每个会议的主题和 ID。
$meetingStartUtc = "MM/DD/YYYY HH:MM:SSZ" # 'Z' means UTC time.
$userId = "<ID of a user who has the meeting in their calendar>"
$cvds = Get-CalendarViewDiagnostics $userId -WindowStartUtc $([DateTime]$meetingStartUtc).AddHours(-1) -WindowEndUtc $([DateTime]$meetingStartUtc).AddHours(1)
$cdls = $cvds | % {Get-CalendarDiagnosticObjects $userId -MeetingId $_.GlobalObjectId -ShouldBindToItem $true}
$cdls | Group-Object CleanGlobalObjectId, SubjectProperty, {$_.StartTime.ToString()} | %{$_.Group[0]} | FL SubjectProperty, CleanGlobalObjectId, StartTime
注意
Get-CalendarViewDiagnostics cmdlet 查找与 WindowStartUtc 和 WindowEndUtc 参数定义的任意时间范围的任何部分重叠的所有会议。 代码示例设置一个两小时的范围。
对于输出中列出的每个会议,CleanGlobalObjectId 参数的值是会议 ID,如以下屏幕截图所示。
如果输出列出了多个会议,请要求用户确认其会议的主题。
使用 Microsoft Graph PowerShell
在 Microsoft Graph PowerShell 中运行以下命令,以获取与搜索条件匹配的会议的会议 ID。 搜索条件是会议参与者的会议时间和用户 ID。 该代码使用 Get-MgUserCalendarView cmdlet 获取每个会议的主题和 ID。
$meetingStartTime = "<YYYY-MM-DDThh:mm:ssZ>" # ISO 8601 format. 'Z' means UTC time.
$userId = "<ID of a user who has the meeting in their calendar>"
Get-MgUserCalendarView -UserId $userId -StartDateTime $meetingStartTime -EndDateTime $meetingStartTime | Select-Object -Property Subject, ICalUId -ExpandProperty Start | FL Subject, ICalUId, Datetime, Timezone
注意
Get-MgUserCalendarView cmdlet 查找与 StartDateTime 和 EndDateTime 参数定义的任意时间范围的任何部分重叠的所有会议。 对于最窄的范围,请将会议开始时间传递给这两个参数。
对于输出中列出的每个会议, ICalUId 参数值为会议 ID,如以下屏幕截图所示。
如果输出列出了多个会议,请要求用户确认其会议的主题。