不知道你咋就这么倒霉,好好的 Exchange Online 用起来总是遇到各种日历问题,以至于不得不三天两头收一次日历诊断日志,你再看我,我同样是 Outlook 日历,我咋就没问题 (✿◡‿◡)

如果你深受 Exchange 本地服务器的荼毒,那么在使用 Exchange Online 的时候,你可能是习惯性地用 Get-CalendarDiagnosticLog 命令来收集日历诊断日志,但在 Exchange Online 上,你运行完这行命令,可能会发现,卧槽,我日志呢?我那么大一坨日志呢?

情况不一样了,老弟,Get-CalendarDiagnosticLog 在 Exchange Online 上不好使了 😋

导致这种现象的原因很简单, Get-CalendarDiagnosticLog 命令的 -LogLocation 参数会把日志输出到微软 Exchange Online 数据中心的服务器的 C:\Temp\CalendarDiagnosticLogs 路径下,根本不会在你运行命令的那台本地计算机上输出。除非你神通广大,能远程到微软数据中心的 Windows 机器,所以别做梦了,老老实实想别的办法吧 (‾◡◝)

好在 Exchange Online 收日历诊断日志还有另一条命令,Get-CalendarDiagnosticObjects,它可以把收集到的信息导出到你运行命令的本地计算机,还能以 csv 的格式导出,更牛逼的是,它导出的日志对你来说是可读的,并不需要使用微软专有的分析工具,非常好用。

这条命令也非常易于使用,人人都学得会哈。

比如,你想收集 tianbaob@irabit.org 在 2021 年 9 月 4 号到 2022 年 3 月 4 号之间的日历诊断日志,那么你可以在 Exchange Online PowerShell 里运行以下命令:

Get-CalendarDiagnosticObjects -Identity tianbaob@irabit.org -StartDate 09/04/2021 -EndDate 03/04/2022 | Export-Csv "C:\Temp\ResultExport.csv" -NoTypeInformation

黄色的报错可以忽略。不是红色就行。

这条命令将会在 C 盘的 Temp 文件夹下生成一个 .csv 格式的文件。里面就是你收集到的日历诊断日志。

这种文件可以用 Excel 打开,内容大概是这个样子的:

里面的信息您可自己分析,非常简单。你不会连日历诊断日志都不会看吧?不会吧不会吧不会吧?