搜索审核日志并将搜索结果下载到逗号分隔值 (.csv) 文件时,该文件包含名为 AuditData 的列。 此列包含有关每个事件的额外信息。 此列中的数据的格式设置为 JSON 对象。 此对象包含多个属性,这些属性显示为用逗号分隔 的 property:value 对。 可以使用 Excel Power Query 编辑器中的 JSON 转换功能将 AuditData 列中 JSON 对象中的每个属性拆分为多个列,以便每个属性都有自己的列。 此功能可让你对其中一个或多个属性进行排序和筛选,这有助于快速找到要查找的特定审核数据。
步骤 1:导出审核日志搜索结果
使用审核 (Standard) 时,最多可以从单个审核搜索查询将 50,000 条记录导出到 .csv 文件。 对于 Audit (Premium) ,导出限制增加到 100 万条记录。 如果审核搜索查询返回的结果数超过这些限制,则导出的 CSV 文件不包括所有结果,并且可能会省略一些审核日志。 若要确保完全导出数据,请考虑以下建议:
- 通过缩小日期范围或应用 UserId、Operation 等其他筛选器来优化搜索查询的范围。
- 使用较小的分段日期范围执行多个搜索,以捕获所有相关的审核日志。
此方法有助于确保在导出限制的约束范围内全面覆盖审核数据。
若要搜索审核日志并将 .csv 文件中的结果导出到本地计算机,请完成以下步骤:
运行 审核日志搜索 ,并在必要时修改搜索条件,直到获得所需结果。
在搜索结果页上,选择“ 导出”。
此选项从在步骤 1 中运行的审核日志搜索中导出所有审核记录。 它将审核日志中的原始数据添加到 CSV 文件。 准备下载文件以进行大型搜索需要一段时间。 搜索所有活动或使用较宽的日期范围时,会生成大型文件。
导出过程完成后,窗口顶部会显示一条消息,提示打开 CSV 文件并将其保存到本地计算机。 还可以访问“下载”文件夹中的 CSV 文件。
步骤 2:使用Power Query 编辑器格式化导出的审核日志
在此步骤中,使用 Excel Power Query 编辑器中的 JSON 转换功能将 AuditData 列中 JSON 对象中的每个属性拆分为自己的列。 然后,根据特定属性的值筛选列以查看记录。 此过程可帮助你快速找到要查找的特定审核数据。
在 Excel for Office 365、Excel 2019 或 Excel 2016 中打开空白工作簿。
在“ 数据 ”选项卡上的“ 获取 & 转换数据” 功能区组中,选择“ 从文本/CSV”。
打开在步骤 1 中下载的 CSV 文件。
在显示的窗口中选择“ 转换数据 ”。
查询编辑器打开 CSV 文件。 你将看到四列: CreationDate、 UserIds、 Operations 和 AuditData。 AuditData 列是包含多个属性的 JSON 对象。 需要为 JSON 对象中的每个属性创建一个列。
右键单击 AuditData 列中的 标题,选择 “转换 ”,然后选择“JSON ”。
选择 AuditData 列右上角的展开图标。
在 AuditData 列中,可以看到 JSON 对象中属性的部分列表。
选择“加载更多”以显示 AuditData 列中 JSON 对象中的所有属性。
你可以取消选中任何不想包含的属性旁边的复选框。 消除对调查没有用的列是减少审核日志中显示的数据量的好方法。
注意
上一屏幕截图中显示的 JSON 属性(选择 “加载更多”后)基于在 CSV 文件中 前 1,000 行的 AuditData 列中找到的属性。 如果前 1,000 行之后的记录中存在不同的 JSON 属性,则这些属性 (,并且当您将 AuditData 列拆分为多个列时,不会显示相应的列) 。 为了帮助防止此问题,请考虑重新运行审核日志搜索并缩小搜索条件范围,以便返回的记录更少。 另一种解决方法是在转换 AuditData 列中的 JSON 对象之前,先筛选“作”列中的项,以减少 (行数,然后再执行步骤 5) 。
提示
若要查看列表(如 AuditData.AffectedItems)中的属性,请选择要从中拉取属性的列右上角的 “展开 ”图标,然后选择“ 展开到新行”。 从那里,它是一条记录,你可以选择列右上角的 “展开 ”图标,查看属性,然后选择要查看或提取的属性。
执行以下作之一,设置为所选的每个 JSON 属性添加的列的标题的格式。
- 取消选中“ 使用原始列名作为前缀 ”复选框,将 JSON 属性的名称用作列名称;例如 RecordType 或 SourceFileName。
- 保留选中“ 使用原始列名作为前缀 ”复选框,以将 AuditData 前缀添加到列名;例如 AuditData.RecordType 或 AuditData.SourceFileName。
选择“确定”。
将 AuditData 列拆分为多个列。 每个新列对应于 AuditData JSON 对象中的属性。 列中的每一行都包含属性的值。 如果属性不包含值,则将显示 null 值。 在 Excel 中,值为 null 的单元格为空。
在“开始”选项卡上,选择“关闭 & 加载”以关闭Power Query 编辑器并在 Excel 工作簿中打开转换后的 CSV 文件。
使用 PowerShell 搜索和导出审核日志记录
可以使用 Exchange Online PowerShell 中的 Search-UnifiedAuditLog cmdlet 将审核日志搜索结果导出到 CSV 文件,而无需在 Microsoft Purview 门户中使用审核日志搜索工具。 然后,可以按照步骤 2 中所述的相同过程,使用Power Query编辑器格式化审核日志。 使用 PowerShell cmdlet 的一个优点是,可以使用 RecordType 参数从特定服务搜索事件。 以下示例演示如何使用 PowerShell 将审核记录导出到 CSV 文件,以便可以使用Power Query编辑器转换 AuditData 列中的 JSON 对象,如步骤 2 中所述。
在以下示例中,运行 命令以返回与 SharePoint 共享作相关的所有记录。
$auditlog = Search-UnifiedAuditLog -StartDate 06/01/2019 -EndDate 06/30/2019 -RecordType SharePointSharingOperation
$auditlog | Select-Object -Property CreationDate,UserIds,RecordType,AuditData | Export-Csv -Path c:\AuditLogs\PowerShellAuditlog.csv -NoTypeInformation
搜索结果将导出到名为 PowerShellAuditlog 的 CSV 文件,其中包含四列:CreationDate、UserIds、RecordType、AuditData。
可以将名称或枚举值用于记录类型。 有关记录类型名称及其相应枚举值的列表,请参阅 Office 365 管理活动 API 架构 中的 AuditLogRecordType表。
只能包含 RecordType 参数的单个值。 若要搜索其他记录类型的审核记录,请再次运行前面的两个命令以指定不同的记录类型,并将这些结果追加到原始 CSV 文件。 例如,运行以下两个命令,将同一日期范围内的 SharePoint 文件活动添加到 PowerShellAuditlog.csv 文件。
$auditlog = Search-UnifiedAuditLog -StartDate 06/01/2019 -EndDate 06/30/2019 -RecordType SharePointFileOperation
$auditlog | Select-Object -Property CreationDate,UserIds,RecordType,AuditData | Export-Csv -Append -Path c:\AuditLogs\PowerShellAuditlog.csv -NoTypeInformation
导出和查看审核日志的提示
下面是在使用 JSON 转换功能将 AuditData 列拆分为多个列之前和之后导出和查看审核日志的一些提示和示例。