Получить идентификатор собрания

Идентификатор собрания — это уникальный идентификатор, который можно использовать для получения журналов диагностики календаря (CDLS) для определенного собрания. Хотя вы можете использовать тему встречи для получения CDL, этот подход генерирует менее подробные CDL для всех встреч, совпадающих с темой. Поэтому мы рекомендуем использовать идентификатор собрания для получения CDL.

Подсказка

Идентификатор собрания — это GUID, начинающийся с 040000008200, например 040000008200E00074C5B7101A82E00800000000A0D1E89273EFDA010000000000000000100000002D9427567554FA4AA9162A58A8B968CB.

Для получения идентификатора собрания можно использовать неадминистраторские или администраторские методы.

Методы без администратора

Выберите один из следующих методов в зависимости от клиента Outlook:

Классический Outlook для Windows

  1. Найдите собрание в календаре Outlook и откройте его. Если собрание является повторяющимся, и вы хотите получить идентификатор собрания всей серии, выберите всю серию, когда вам будет предложено. В противном случае, если вы хотите получить идентификатор отдельной встречи в серии встреч, выберите «Только этот».

  2. В окне собрания выберите"Сохранить файл> как", а затем нажмите кнопку "Сохранить", чтобы сохранить элемент собрания в виде файла .ics.

  3. Откройте файл .ics в текстовом редакторе и выполните поиск UID:. Значение UID — это идентификатор собрания, как показано в следующем примере:

    UID:040000008200E00074C5B7101A82E00800000000A0D1E89273EFDA010000000000000000100000002D9427567554FA4AA9162A58A8B968CB

Новый Outlook для Windows

  1. Найдите одно из следующих уведомлений о собрании в папке "Входящие" или "Удаленные":

    • Приглашение на собрание
    • Ответ участника
    • Обновление собрания
    • Отмена собрания
  2. Щелкните правой кнопкой мыши элемент собрания, выберите "Сохранить как", а затем нажмите кнопку "Сохранить ", чтобы сохранить элемент собрания в папку на компьютере в виде файла .eml.

  3. Откройте файл .eml в текстовом редакторе и выполните поиск UID=. Если текст существует, значение UID — это идентификатор собрания. Если текст не существует, перейдите к следующему шагу.

  4. Найдите блок текста в кодировке Base64, который начинается с QkVHSU46VkNBTEVOREFS и заканчивается =, а затем декодирует текстовый блок. Вы можете декодировать текст в кодировке Base64 с помощью любого из следующих методов:

    • Выполните следующий код PowerShell:

      $base64Text = "<Base64-encoded text>"
      $decodedText = [Text.Encoding]::Utf8.GetString([Convert]::FromBase64String($base64Text))
      $decodedText | findstr "UID:"
      

      Примечание. Блок текста в кодировке Base64 может содержать пробелы, поэтому убедитесь, что блок текста окружен кавычками.

    • Используйте настольное приложение. Например, если у вас установлен MFCMAPI, выберите инструменты>редактор Hex, чтобы открыть окно редактора Hex, а затем вставьте текст в кодировке Base 64 в раздел "Base 64" окна редактора Hex. Декодированный текст отображается в разделе "Текст" (Ansi/Юникод) в окне Hex-редактора.

    На следующем снимке экрана показан пример текстового блока в кодировке Base64 в файле .eml.

    Снимок экрана: блок текста в кодировке Base64.

  5. В декодированном тексте найдите UID:. Значение UID — это идентификатор собрания, как показано в следующем примере:

    UID:040000008200E00074C5B7101A82E00800000000A0D1E89273EFDA010000000000000000100000002D9427567554FA4AA9162A58A8B968CB

Outlook для Mac

Замечание

Этот метод применяется как к новому Outlook для Mac, так и к классическому Outlook для Mac.

  1. Найдите собрание в календаре Outlook и перетащите собрание из календаря Outlook в папку на компьютере. Это действие сохраняет элемент собрания в виде файла .ics в папке.

  2. Откройте файл .ics в текстовом редакторе и найдите UID:. Значение UID — это идентификатор собрания, как показано в следующем примере:

    UID:040000008200E00074C5B7101A82E00800000000A0D1E89273EFDA010000000000000000100000002D9427567554FA4AA9162A58A8B968CB

Outlook в Интернете

Используйте любой из следующих методов.

Подсказка

Выберите метод A, если папка «Входящие» или «Удаленные элементы» в Outlook содержит уведомление о встрече, например, приглашение на встречу, ответ участника, обновление встречи или отмену встречи. В противном случае выберите метод B.

  • Метод A. Используйте те же действия, которые предоставляются для нового Outlook для Windows.

  • Метод B. Используйте сетевое средство в Microsoft Edge, как описано в следующих шагах:

    1. Откройте календарь в браузере Edge, но не выбирайте собрание.

    2. В меню браузера выберите "Другие средстваразработчика">, чтобы открыть панель инструментов разработчика.

    3. На вкладке "Сеть" выберите значок фильтра и введите GetCalendarEvent в поле фильтра, как показано на следующем снимке экрана.

      Снимок экрана: сетевое средство в браузере Edge.

    4. Выберите любой день в календаре одним щелчком, а затем выберите собрание. Запись сетевого запроса должна отображаться в столбце "Имя ".

    5. Выберите запись в столбце "Имя ", а затем перейдите на вкладку "Ответ ". Значение UID в тексте ответа — это идентификатор собрания.

    Замечание

    Если вы выберете неправильное собрание и придется начать заново, обновите веб-страницу, а затем повторите шаги 4 и 5.

Методы администратора

Выберите один из следующих методов в зависимости от того, знаете ли вы тему собрания:

Тема доступна

Выполните следующие команды в Exchange Online PowerShell , чтобы получить идентификатор собрания для собраний, соответствующих критериям поиска. Критерии поиска являются предметом собрания и идентификатором пользователя участника собрания. Код использует командлет Get-CalendarDiagnosticObjects для получения времени начала и идентификатора каждого собрания.

$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 является идентификатором собрания, как показано на следующем снимке экрана.

Снимок экрана результата командлета Get-CalendarDiagnosticObjects.

Если выходные данные перечисляют несколько собраний, попросите пользователя подтвердить время собрания.

Тема недоступна

Выберите один из следующих методов:

Использование Exchange Online PowerShell

Выполните следующие команды в Exchange Online PowerShell , чтобы получить идентификатор собрания для собраний, соответствующих критериям поиска. Критерии поиска — это время собрания и идентификатор пользователя участника собрания. Код использует командлеты Get-CalendarViewDiagnostics и Get-CalendarDiagnosticObjects для получения темы и идентификатора каждого собрания.

$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 находит все собрания, перекрывающие любую часть диапазона времени, определенного параметрами WindowStartUtc и WindowEndUtc. В примере кода задается двухчасовый диапазон.

Для каждого собрания, указанного в выходных данных, значение параметра CleanGlobalObjectId является идентификатором собрания, как показано на следующем снимке экрана.

Снимок экрана результата работы командлета Get-CalendarViewDiagnostics.

Если выходные данные перечисляют несколько собраний, попросите пользователя подтвердить тему их собрания.

Использование PowerShell для Microsoft Graph

Выполните следующие команды в Microsoft Graph PowerShell , чтобы получить идентификатор собрания для собраний, соответствующих критериям поиска. Критерии поиска — это время собрания и идентификатор пользователя участника собрания. В коде используется командлет Get-MgUserCalendarView для получения темы и идентификатора каждого собрания.

$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 находит все собрания, совпадающие с любой частью временного диапазона, заданного параметрами StartDateTime и EndDateTime. Для самого узкого диапазона передайте время начала собрания обоим параметрам.

Для каждого собрания, указанного в выходных данных, значение параметра ICalUId является идентификатором собрания, как показано на следующем снимке экрана.

Снимок экрана выходных данных командлета Get-MgUserCalendarView.

Если выходные данные перечисляют несколько собраний, попросите пользователя подтвердить тему их собрания.