當你搜尋稽核日誌並下載搜尋結果到逗號分隔的值 (.csv) 檔案時,該檔案包含一個名為 AuditData 的欄位。 本欄包含每項活動的額外資訊。 此欄資料格式為 JSON 物件。 此物件包含多個屬性,這些屬性以逗號分隔的 property:value 對。 你可以在 Excel 的 Power Query 編輯器中使用 JSON 轉換功能,將 AuditData 欄位 JSON 物件中的每個屬性拆分成多欄,讓每個屬性都有自己的欄位。 此功能允許您對一個或多個屬性進行排序與篩選,幫助您快速找到所需的特定審計資料。
步驟 1:匯出稽核記錄搜尋結果
重要事項
為了讓匯出流程正常運作,請確保Azure前門網域 (azurefd.net) 沒有被你的網路防火牆封鎖。
使用審計 (Standard) 時,您可以從單一審計查詢中匯出多達 50,000 筆紀錄到一個 .csv 檔案。 對於審核 (高級) ,出口限額提高至 10萬筆紀錄。 如果您的稽核查詢回傳的結果數超過這些限制,匯出的 .csv 檔案並未包含所有結果,可能會遺漏部分審計日誌。 為確保資料完整匯出,請考慮以下建議:
- 透過縮小日期範圍或套用其他篩選條件如使用者ID、操作等,來精細搜尋查詢範圍。
- 以較小且分段的日期範圍進行多次搜尋,以捕捉所有相關的稽核日誌。
此方法有助於確保審計資料在出口限制下全面覆蓋。
要搜尋稽核日誌並將結果匯出成 .csv 檔案至本地電腦,請完成以下步驟:
進行 稽核日誌搜尋 ,必要時修訂搜尋條件,直到得到理想的結果。
在搜尋結果頁面,選擇 匯出。
這個選項會匯出你在第一步執行的審計日誌搜尋中的所有稽核紀錄。 它會將稽核日誌的原始資料加入 .csv 檔案。 準備下載檔案以進行大型搜尋需要一些時間。 搜尋所有活動或使用廣泛日期範圍時,會出現大型檔案。
匯出完成後,視窗頂端會出現訊息,提示你打開 .csv 檔案並儲存到本地電腦。 你可能需要重新整理頁面才能看到這則訊息。 你也可以在 下載 資料夾中存取 .csv 檔案。
步驟 2:使用 Power Query 編輯器將匯出的稽核記錄格式化
在此步驟中,你會使用 Excel Power Query 編輯器中的 JSON 轉換功能,將 AuditData 欄位中的 JSON 物件中的每個屬性拆分成獨立欄位。 接著,你可以根據特定屬性的值篩選欄位來查看紀錄。 這個流程能幫助你快速找到所需的特定稽核資料。
在 Microsoft 365 Excel、Excel 2019 或 Excel 2016 中開啟空白工作簿。
在資料分頁,在「取得 & 轉換資料」功能區群組中,選擇「從文字/CSV 中選」。
打開你在步驟1下載的 .csv 檔案。
在顯示的視窗中選擇 「轉換資料 」。
查詢編輯器打開 .csv 檔案。 你會看到四個欄位:CreationDate、UserID、Operations 和 AuditData。 AuditData 資料行是包含多個屬性的 JSON 物件。 你需要為 JSON 物件中的每個屬性建立一欄。
以滑鼠右鍵按一下 AuditData 資料行中的標題,選取 [轉換],然後選取 [JSON]。
請選擇 AuditData 欄右上角的展開圖示。
你會在 AuditData 欄位看到 JSON 物件中屬性的部分清單。
選取 [載入更多] 以在 [AuditData] 資料行中顯示 JSON 物件中的所有屬性。
你可以在不想要包含的物件旁勾選方塊。 排除對您的調查沒有幫助的資料行,是減少稽核記錄中顯示資料量的好方法。
注意事項
在你選擇 「載入更多) 」後, (前面截圖中顯示的 JSON 屬性,是基於 .csv 檔案前 1,000 列 AuditData 欄位中所找到的屬性。 如果在前 1,000 列之後的紀錄中存在不同的 JSON 屬性,當你將 AuditData 欄位拆分成多欄時,這些屬性 (及對應欄位) 不會出現。 為避免此問題,建議重新執行稽核日誌搜尋,並縮小搜尋條件,減少回傳紀錄。 另一個變通方法是先在 操作 欄位中篩選項目,減少 (列數,然後再執行第 5 步) 再轉換 AuditData 欄位的 JSON 物件。
提示
若要在像 AuditData.AffectedItems 這類清單中查看屬性,請選擇你想從屬性拉取欄位右上角的 「展開 」圖示,然後選擇 「展開到新列」。 接著會顯示一個紀錄,你可以選擇欄位右上角的 展開 圖示,查看屬性,然後選擇你想查看或擷取的屬性。
請依以下其中一項方式格式化你為每個選擇的 JSON 屬性新增欄位標題。
- 清除「 使用原始欄位名稱作為前綴 」勾選框,以使用 JSON 屬性名稱作為欄位名稱;例如, RecordType 或 SourceFileName。
- 保留 「使用原始欄位名稱作為前綴 」的勾選框,以在欄位名稱中加入 AuditData 前綴;例如, AuditData.RecordType 或 AuditData.SourceFileName。
選取 [確定]。
你把 AuditData 欄位拆分成多個欄位。 每個新資料行都會對應至 AuditData JSON 物件中的一個屬性。 資料行中的每個資料列都包含屬性的值。 如果屬性不包含值,則會出現 空 值。 在 Excel 中,具有 Null 值的儲存格是空的。
在「主頁」標籤中,選擇關閉 & 載入,關閉Power Query 編輯器並在 Excel 工作簿中開啟已轉換的 .csv 檔案。
使用 PowerShell 來搜尋和匯出稽核記錄
你可以不用 Microsoft Purview 入口網站的稽核日誌搜尋工具,而是使用 PowerShell 中的 Search-UnifiedAuditLog 指令檔,將Exchange Online查核日誌搜尋結果匯出成 .csv 檔案。 然後,您可以遵循步驟 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 欄位分割成多欄前後,匯出與查看稽核日誌的技巧與範例。
- 篩選 RecordType 資料行,只顯示來自特定服務或功能區域的記錄。 例如,若要顯示與 SharePoint 分享相關的事件,請選擇 SharePoint 分享活動觸發的紀錄列舉值 (14 個) 。 如需對應至 RecordType 資料行中顯示之列舉值的服務清單,請參閱 稽核記錄中的詳細屬性。
- 篩選 Operations 資料行以顯示特定活動的記錄。 關於 Microsoft Purview 入口網站稽核日誌搜尋工具中大多數可搜尋活動的操作清單,請參閱 「搜尋稽核日誌」中的「已稽核活動」區塊。