Get-CalendarDiagnosticAnalysis

尽管此 cmdlet 在本地 Exchange 和基于云的服务中可用,但它仅适用于本地 Exchange。

使用 Get-CalendarDiagnosticAnalysis cmdlet 排查与日历相关的可靠性问题。 可以使用此 cmdlet 分析日历诊断日志中记录的日历项数据。 使用 Get-CalendarDiagnosticLog cmdlet 将日历项数据提供给此 cmdlet。

有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法

语法

Get-CalendarDiagnosticAnalysis
   -CalendarLogs <CalendarLog[]>
   [-DetailLevel <AnalysisDetailLevel>]
   [-GlobalObjectId <String>]
   [-OutputAs <OutputType>]
   [<CommonParameters>]
Get-CalendarDiagnosticAnalysis
   -LogLocation <String[]>
   [-DetailLevel <AnalysisDetailLevel>]
   [-GlobalObjectId <String>]
   [-OutputAs <OutputType>]
   [<CommonParameters>]

说明

当 DetailLevel 参数设置为 Basic) 时,将在 cmdlet 的默认输出中返回日历项的以下属性 (:

  • 本地日志时间
  • ItemId
  • NormalizedSubject
  • StartTime
  • EndTime
  • CalendarLogTriggerAction
  • ClientInfoString
  • OriginalLastModifiedTime
  • ClientIntent
  • CleanGlobalObjectId
  • ItemClass
  • ParentDisplay
  • 持续时间
  • AppointmentRecurring
  • SentRepresentingEmailAddress
  • SenderEmailAddress
  • SentRepresentingDisplayName

您必须先获得权限,然后才能运行此 cmdlet。 虽然本主题中列出了此 cmdlet 的所有参数,但如果这些参数并未包含在分配给您的权限中,那么您将无法使用这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet

示例

示例 1

$logs = Get-CalendarDiagnosticLog -Identity oevans -MeetingID 040000008200E00074C5B7101A82E008000000009421DCCD5046CD0100000000000000001000000010B0349F6B17454685E17D9F9512E71F

Get-CalendarDiagnosticAnalysis -CalendarLogs $logs -DetailLevel Advanced | Set-Content -Path "C:\My Documents\Oscar Evans Analysis.csv"

此示例从 Oscar Evans 的邮箱获取指定的日历项,将项目存储为变量,并将该项目的高级分析写入 CSV 文件。

对于项的基本分析,请勿包含 DetailLevel 参数,或使用值 Basic 而不是 Advanced。

示例 2

Get-CalendarDiagnosticAnalysis -LogLocation "C:\My Documents\Exported Calendar Logs\jkozma@contoso.com" -DetailLevel Advanced -OutputAs HTML | Set-Content -Path "C:\My Documents\Jasen Kozma Analysis.html"

Exchange 2013 中,此示例使用 Get-CalendarDiagnosticLog cmdlet 和 LogLocation 参数分析以前从 Jasen Kozma 邮箱导出的日历项目,并将项目的高级分析写入 HTML 文件。

注意:LogLocation 参数仅在 Exchange 2013 中可用。 若要指定 Exchange 2016 或 Exchange 2019 中导出的日历项的位置,请参阅示例 3。

对于项的基本分析,请勿包含 DetailLevel 参数,或使用值 Basic 而不是 Advanced。

示例 3

$calitems = Get-CalendarDiagnosticLog -Identity jkozma@contoso.com -Subject "Budget Meeting"

ForEach($item in $calitems){$i++; Get-CalendarDiagnosticAnalysis -CalendarLogs $item -OutputAs HTML | Set-Content -Path ("\\FileServer01\Data\Jasen Kozma Analysis{0}.html" -f $i)}

此示例使用 Get-CalendarDiagnosticLog cmdlet 分析从 Jasen Kozma 邮箱导出的日历项目,并使用 UNC 路径将每个项目的高级分析写入 HTML 文件。

对于项的基本分析,请勿包含 DetailLevel 参数,或使用值 Basic 而不是 Advanced。

参数

-CalendarLogs

CalendarLogs 参数指定要分析的日历项。 通过将 Get-CalendarDiagnosticLog cmdlet 的输出存储到变量中,并将该变量用于此参数的值来标识日历项。

例如,若要分析香农·斯蒂尔邮箱中主题为“11 月预算会议”的会议,请运行 命令 $Budget = Get-CalendarDiagnosticLog -Identity "Shannon Steele" -Subject "November Budget Meeting" -ExactMatch ,然后使用此参数的值 $Budget

用于此参数的值必须标识单个项。 若要标识多个项,请参阅示例 3。

不能将此参数与 LogLocation 参数一起使用。

Type:CalendarLog[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-DetailLevel

DetailLevel 参数指定要在分析输出中看到的详细信息级别。 有效值包含:

  • 基本:这是默认值。 返回的日历项属性在“详细说明”中列出。
  • 高级:返回其他 37 个日历项属性。 应仅将此值用于详细的调试信息。
Type:AnalysisDetailLevel
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-GlobalObjectId

GlobalObjectId 参数指定要分析的日历项的标识。 在 Exchange 2013 中,如果位置包含多个导出的 .msg 文件,则可以将此参数与 LogLocation 参数一起使用来指定日历项。

会议的 GlobalObjectId 属性使用与 CleanGlobalObjectId 属性相同的格式 (,例如,040000008200E00074C5B7101A82E00800000009421DCCD5 046CD010000000000000000100000010B0349F6B17454685E17D9F9512E71F) 和两个属性的值可能相同。 但是,对于多个日历中同一会议的所有实例,GlobalObjectId 的值可能不会保持不变, (例如,受邀参加同一定期会议的不同实例的不同与会者) 。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

-LogLocation

注意:此参数已被 2022 H1 累积汇报从 Exchange 2016 和 Exchange 2019 中删除,因为它接受 UNC 路径值。 若要指定要分析的日历项,请使用 CalendarLogs 参数。

此参数仅在 Exchange 2013 中有效。

LogLocation 参数指定要分析的导出日历项的位置。 可以指定本地路径或 UNC 路径, \\Server\Share\User () 。 如果值中有空格,请使用双引号 (") 将此值括起来。

使用带有 LogLocation 参数的 Get-CalendarDiagnosticLog cmdlet 将日历项目导出到 .msg 文件。 如果路径包含多个 .msg 文件,则运行 Get-CalendarDiagnosticAnalysis 时将分析所有这些文件。

不能将此参数与 CalendarLogs 参数一起使用。

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Online

-OutputAs

OutputAs 参数指定命令的输出格式。 有效值包含:

  • CSV (这是默认值)
  • HTML
  • XML
Type:OutputType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online

输入

Input types

若要了解此 cmdlet 接受的输入类型,请参阅 cmdlet 的输入和输出类型。 如果 cmdlet 的"输入类型"字段为空,则表明此 cmdlet 不接受输入数据。

输出

Output types

若要了解此 cmdlet 接受的返回类型(亦称为"输出类型"),请参阅 cmdlet 的输入和输出类型。 如果"输出类型"字段为空,则表明此 cmdlet 不返回任何数据。