Get-CalendarDiagnosticAnalysis

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

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

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

语法

DefaultSet

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

LocationSet

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

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE、Exchange Online

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

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

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

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

参数属性

类型:

CalendarLog[]

默认值:None
支持通配符:False
不显示:False

参数集

DefaultSet
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DetailLevel

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE、Exchange Online

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

  • 基本:此值为默认值。 返回的日历项属性在“详细说明”中列出。
  • 高级:返回其他 37 个日历项属性。 应仅将此值用于详细的调试信息。

参数属性

类型:AnalysisDetailLevel
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-GlobalObjectId

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE、Exchange Online

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

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-LogLocation

适用:Exchange Server 2013 年,Exchange Online

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

此参数仅在 Exchange 2013 中有效。

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

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

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

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

LocationSet
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-OutputAs

适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019、Exchange Server SE、Exchange Online

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

  • CSV (默认值)
  • HTML
  • XML

参数属性

类型:OutputType
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

Input types

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

输出

Output types

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