次の方法で共有


Exchange Online メールボックスの予定表診断ログを分析する

Exchange Online メールボックスの会議の問題を診断するために、予定表診断ログ (CDN) を分析できます。 会議の CDL を取得するには、「 Get calendar diagnostic logs for Exchange Online mailboxesを参照してください。

次のセクションでは、分析プロセスについて説明します。

前提条件

Get-CalendarDiagnosticObjectsSummary.ps1 スクリプト を使用して、会議用に次の Microsoft Excel ファイルを生成します。

CalLogSummary_<会議 ID を設定します>.xlsx

ファイルには、キー参加者ごとに次のワークシートセットが含まれている必要があります。

  • <participant SMTP address>_TimeLine: タイムラインが含まれています
  • <participant SMTP address>: 拡張 CDL が含まれています
  • <participant SMTP address>_Raw: 生の CDN が含まれています

Note

  • このスクリプトは、未加工の CDN をダウンロードして処理し、強化された CDN と会議アクションの簡潔なタイムラインを提供します。
  • 生の CDL 分析は、この記事の範囲外です。

会議アクションのタイムラインを分析する

参加者のタイムライン ワークシートの上部の行には、会議 ID、件名、開催者などの一般的な会議情報が表示されます。 これらの行の後には、参加者に関連する会議アクションのタイムスタンプ付きの概要が表示されます。 タイムラインを使用して、基本的な会議の問題のトラブルシューティングを行うことができます。

たとえば、会議をキャンセルしたユーザーを学習するシナリオを考えてみましょう。 次のスクリーンショットでは、代理人のタイムライン ワークシートに、代理人が Outlook on the web で会議をキャンセルしたことを示しています。

デリゲートのタイムライン ワークシートのスクリーンショット。

Note

タイムラインの各番号付きエントリは、未加工の CDL ワークシートの行に対応します。 スキップされた数値は、無視できる会議アクションを持つ未加工の CDL 行に対応します。

次のスクリーンショットでは、ユーザーのタイムライン ワークシートに、ユーザーが Outlook で会議を削除したことを示しています。

ユーザーのタイムライン ワークシートのスクリーンショット。

拡張 CDL の分析

参加者の拡張 CDL は、参加者に関連する会議アクションの詳細な記録を提供します。 拡張 CDL ワークシートには、生の CDL ワークシートと同じ順序で同じ会議アクションが含まれていますが、次の利点があります。

  • 列ヘッダーには、非リレーショナル会議アクションを非表示にするために使用できるフィルターがあります。 フィルター処理を行うことで、レビューするエントリの数を大幅に減らすことができます。

  • ワークシートには、各会議アクションに情報を追加する新しい列があります。 例えば次が挙げられます。

    • 各会議アクションを分類する LogType 列。 この列にフィルターを適用すると、一部のシステム アクションやクリーンアップ アクションなど、無視可能としてラベル付けされているすべての会議アクションを非表示にすることができます。

    • 各ログ アクションの後に会議の空き時間情報の状態を提供する FreeBusy 列。

    • 会議アクションを担当するユーザーまたはコンポーネントを指定する ResponsibleUser 列。

拡張 CDL ワークシート列

次の表では、拡張 CDL ワークシートの各列を左から右に示します。 アスタリスクが付いている列名は、重要な診断データを示します。

列の説明
LogRow 未加工の CDL ワークシートの行番号に対応するが、未加工の CDL ワークシート ヘッダーのために 1 つオフセットされる行値。
LogTimestamp 会議アクションがログに記録された UTC 日時。
LogType* 会議アクションの種類:
  • Core: 重要な会議アクション。
  • Ignorable: 無視できる日常的なシステム アクション。 たとえば、Microsoft イベント ベースのアシスタント (EBA) または時間ベースのアシスタント (TBA) によって実行される会議アクションなどです。
  • Cleanup: 無視できる定期的なメンテナンス アクション。 たとえば、会議の返信を削除する Outlook の自動アクションなどです。
SubjectProperty* 会議の件名
クライアント* 予定表アイテムに対してアクションを実行したクライアントの短い名前。 例えば次が挙げられます。
  • Outlook : Desktop : MAPI: ユーザーが Outlook デスクトップ クライアントを使用して会議アクションを実行しました。
  • OWA-ModernCalendarSharing: ユーザーが Outlook Web アプリを使用して会議アクションを実行しました。
  • Other EBA: EBA が会議アクションを実行しました。
  • Transport: 予定表アイテムが転送中に会議アクションが発生しました。
LogClientInfoString 予定表アイテムに対してアクションを実行したクライアントの長い名前。
TriggerAction* 次のような会議アクションをトリガーしたアップストリーム アクション。
  • Create: ユーザーが予定表アイテムを作成します。
  • Update: ユーザーが予定表アイテムを更新します。
  • Move: ユーザーが予定表アイテムを別の Outlook フォルダーに移動します。
  • MoveToDeletedItems: ユーザーが予定表アイテムを Outlook の Deleted Items フォルダーに移動します。
  • SoftDelete: ユーザーが予定表アイテムを論理的に削除します。
  • HardDelete: ユーザーが予定表アイテムをハード削除します。
トリガー アクションは、数秒で区切られたペアで頻繁に発生します。 例えば次が挙げられます。
  • 通常、会議のCreateトリガー アクションの後には、IPM.Appointmentの会議アイテムに対するCreateまたはUpdateトリガー アクションが続きます。
  • 通常、承諾のCreateトリガー アクションの後に、空き時間情報をBusyに設定するIPM.Appointmentの会議アイテムに対するUpdateトリガー アクションが続きます。
  • 出席者が会議出席依頼の応答を送信したときに発生するTransportトリガー アクションには、通常、IPM.Appointmentの会議アイテムに対するUpdateトリガー アクションが続きます。
ItemClass* 予定表アイテムのクラス。次に例を示します。
  • IPM.Appointment: 会議アイテム。
  • IPM.Schedule.Meeting.Request: 会議出席依頼アイテム。
  • IPM.Schedule.Meeting.Canceled:会議の取り消しアイテム。 この項目クラスでは、 Create トリガー アクションのみが対象となります。
  • IPM.Schedule.Meeting.Notification.Forward: 会議が新しいユーザーに転送されるときに生成される会議転送通知アイテム。 この項目クラスでは、 Create トリガー アクションのみが対象となります。
  • IPM.Schedule.Meeting.Resp.Pos: 承諾された会議の返信アイテム。 この項目クラスでは、 Create トリガー アクションのみが対象となります。
  • IPM.Schedule.Meeting.Resp.Tent: 仮の会議応答アイテム。 この項目クラスでは、 Create トリガー アクションのみが対象となります。
  • IPM.Schedule.Meeting.Resp.Neg: 辞退した会議の返信アイテム。 この項目クラスでは、 Create トリガー アクションのみが対象となります。
: 応答追跡の問題のトラブルシューティングを行っていない限り、 IPM.Schedule.Meeting.Resp.Pos/Tent/Neg 項目クラスは無視できます。
Seq:Exp:ItemVersion 次の要素で構成される複合値:
  • AppointmentSequenceNumber: 予定または会議のシーケンス番号。 時刻、日付、または場所に対する大きな変更時に更新されます。
  • ExceptionNumber: 例外のシーケンス番号。
  • ItemVersion: 予定表アイテムのバージョン。
オルガナイザー* 予定または会議の開催者のメール アドレス。 会議の返信の場合、開催者は返信したユーザーです。
差出人 予定または会議の開催者の SMTP アドレス。
FreeBusyStatus 次のような予定表アイテムの空き時間情報の状態。
  • Free
  • Busy
  • Tentative
  • Out of office
ResponsibleUser* 会議アクションを担当するユーザーまたはコンポーネント。
送信者 予定表アイテムの送信者の SMTP アドレス。
LogFolder ログ エントリが見つかったメールボックス フォルダー。 通常、この列は無視してかまいません。
: Calendar Logging フォルダー内のログ エントリは、31 日後に削除されます。
OriginalLogFolder 予定表アイテムが最初に配信されたメールボックス フォルダー。
SharedFolderName
  • フォルダーが共有されている場合、値はフォルダー所有者の名前です。
  • フォルダーが共有されていない場合、値は Not Shared
IsFromSharedCalendar 予定表アイテムが共有予定表からのものかどうかを示すブール値。
ExternalSharingMasterId 外部で共有されるマスター予定表アイテムの一意識別子。 CDL エントリが別のメールボックスからの場合、値は NotFound
ReceivedBy 予定表アイテムの受信者のメール アドレス、または空白の値。 通常、この列は無視してかまいません。
ReceivedRepresenting 受信者に代わって予定表アイテムを受信した代理人のメール アドレス。
MeetingRequestType 次のような会議出席依頼の種類:
  • NewMeetingRequest
  • FullUpdate
  • InformationalUpdate
  • Response
StartTime* 会議の開始時刻。
EndTime 会議の終了時刻。
OriginalStartDate 会議の元の開始日。 会議のスケジュールが変更されない限り、値は空白です。
TimeZone 会議のタイム ゾーン。
Location 会議の場所。
CalendarItemType 予定表アイテムの種類。次に示します。
  • Single: 非回復性の予定表アイテム。
  • Occurrence: 定期的な予定表アイテム。
  • RecurringMaster: 定期的な予定表アイテムのセットの親。
IsException 予定表アイテムが定期的な予定表の系列の例外であるかどうかを示すブール値。
RecurrencePattern 予定表アイテムの繰り返し頻度 。次に例を示します。
  • DailyRecurrence: 繰り返し頻度 (日数)。
  • WeeklyRecurrence: 週と日の繰り返し頻度。
  • RelativeMonthlyRecurrence: 相対月次繰り返しパターン。
  • AbsoluteYearlyRecurrence: 毎年の繰り返しパターン。
予定表アイテムが非回復性の場合、値は空白になります。
AppointmentAuxiliaryFlags 予定または会議に関する追加情報を提供するフラグのセット。 フラグが適用されない場合、値は空白になります。
DisplayAttendeesAll 会議出席依頼の出席者の一覧。 その他の予定表アイテムの場合、値は NotFound
AttendeeCount 出席者の数。
AppointmentState 次のような予定または会議の状態の複合値。
  • Meeting
  • Received
  • Cancelled
たとえば、会議が取り消されたことを示す値が Meeting, Cancelled される場合があります。
ResponseType* 出席者の応答の種類。次に示します。
  • None
  • Organizer
  • Tentative
  • Accept
  • Decline
  • NotResponded
ClientIntent ログ エントリをトリガーしたアクションを実行したクライアント アプリケーションの意図。次に例を示します。
  • None
  • MeetingMessageDelivery
この値は少数の意図のみを指定し、多くの場合は空白です。
AppointmentRecurring 予定または会議が定期的かどうかを示すブール値。
HasAttachment 予定表アイテムに添付ファイルがあるかどうかを示すブール値。
IsCancelled 予定表アイテムが取り消されたかどうかを示すブール値。
IsAllDayEvent 予定表アイテムが終日イベントかどうかを示すブール値。
IsSeriesCancelled 定期的な予定表アイテムの系列全体が取り消されるかどうかを示すブール値。 非回復性の予定表アイテムの場合、値は空白です。
SendMeetingMessagesDiagnostics 会議の更新がすべての会議参加者に送信されなかった理由を診断するために使用できる会議変更メトリックを提供する複合値。 たとえば、次の値を考えてみましょう。
RID=194b9d80-3a78-732c-3365-26041d4e76ec;SMMM=2;OAC=4;NAC=;AC=False;IIOM=;PC=4(Item.Body,Item.Subject)
この例では、重要なメトリックは次のとおりです。
  • SMMM
    • 0: 会議の更新通知が出席者に送信されませんでした。
    • 1: 会議の更新通知が、追加または削除された出席者にのみ送信されました。
    • 2: 会議の更新通知がすべての出席者に送信されました。
  • OAC: 元の会議出席者数。
  • NAC: 新しい会議出席者数。 数値が変更されていない場合、値は空白になります。
  • AC: 出席者リストが変更されたかどうかを示すブール値。
  • PC: 変更された会議プロパティの数と、変更されたプロパティの一部の一覧。 Item.BodyItem.Subjectなどの変更されたプロパティは、システムによって生成された会議更新通知をすべての出席者にトリガーするのに十分な大きさです。
: 一部のメトリックが空白になる場合があります。
AttendeeCollection 出席者の一覧と、次のような応答の詳細。
  • 出席者のメール アドレス
  • 出席者の種類:
    • 0:未指定
    • 1:必須
    • 2 省略可能:
    • 3:資源
  • 出席者の応答の種類:
    • 0:何一つ
    • 1:オルガナイザー
    • 2:仮
    • 3許可:
    • 4:断る
    • 5: 応答しない
  • 出席者の応答の UTC タイムスタンプ
Get-CalendarDiagnosticObjectsSummary.ps1 スクリプトを実行するときに -TrackingLogs スイッチを使用しない場合、値は空白になります。
CalendarLogRequestId 予定表ログ要求の一意識別子。
CleanGlobalObjectId 一意の変更できない会議 ID。

拡張 CDL ワークシート フィルター

多くの場合、CDN には大量のデータが含まれているため、分析を開始する前に不要な情報を除外することをお勧めします。 CDL をフィルター処理するには、次の手順に従います。

  1. LogType 列をフィルター処理して、Coreエントリのみを表示します。

  2. ItemClass 列をフィルター処理して、次のエントリを削除します。

    • Meeting.Response
    • IPM.Schedule.Meeting.Notification.Forward
  3. LogTimestamp 列をフィルター処理して、対象期間外のログ エントリを削除します。