如何在 Exchange Server 中使用系統管理員稽核記錄

當使用者或系統管理員在組織中進行變更時,您可以使用Exchange Server中的系統管理員稽核記錄來記錄。 藉由保留變更的記錄,您可以追蹤變更的人員進行變更、使用實作變更時的詳細記錄來增強變更記錄、符合法規需求和探索要求等等。

根據預設,系統管理員稽核記錄會在新的Exchange Server安裝中啟用。

稽核內容

系統會稽核直接在 Exchange 管理命令介面中執行的 Cmdlet。 此外,也會記錄使用 Exchange 系統管理中心 (EAC) 執行的作業,因為這些作業會在背景中執行 Cmdlet。

Cmdlet 無論其執行位置為何,如果 Cmdlet 位於 Cmdlet 稽核清單上,且該 Cmdlet 上的一或多個參數位於參數稽核清單上,就會稽核 Cmdlet。 稽核記錄的目的是要顯示已採取哪些動作來修改 Exchange 組織中的物件,而不是已檢視的物件。

附註

  • 如果 Cmdlet 呼叫 管理員 Audit Log Cmdlet 擴充代理程式之前發生錯誤,則可能不會記錄 Cmdlet。 如果在呼叫管理員稽核記錄代理程式之後發生錯誤,則會記錄 Cmdlet 以及相關聯的錯誤。 如需詳細資訊,請參閱本主題稍後管理員稽核記錄代理程式一節。

  • 在進行設定變更時,開啟 Exchange 管理命令介面的電腦上,每隔 60 分鐘會重新整理稽核記錄組態的變更。 如果您想要立即套用變更,請關閉,然後在每部電腦上再次開啟 Exchange 管理命令介面。

  • 命令在執行後最多可能需要 15 分鐘才會出現在稽核記錄搜尋結果中。 這是因為稽核記錄專案必須先編制索引,才能進行搜尋。 如果命令未出現在系統管理員稽核記錄中,請等候幾分鐘,然後再次執行搜尋。

管理員稽核記錄設定

根據預設,啟用系統管理員稽核記錄時,每次執行任何 Cmdlet 時都會建立記錄專案。 如果您不想稽核每個執行的 Cmdlet,您可以設定稽核記錄,只稽核您感興趣的 Cmdlet 和參數。 您可以使用 Set-AdminAuditLogConfig Cmdlet 來設定稽核記錄。 下列各節中參考的參數會與此 Cmdlet 搭配使用。

重要事項

不論要稽核的 Cmdlet 清單中是否包含 Set-AdminAuditLogConfig Cmdlet,或是否啟用或停用稽核記錄,系統一律會記錄系統管理員稽核記錄組態的變更。

執行命令時,Exchange 會檢查使用的 Cmdlet。 如果執行的 Cmdlet 符合 AdminAuditLogCmdlets 參數所提供的任何 Cmdlet,則 Exchange 會檢查 AdminAuditLogParameters 參數中指定的參數。 如果參數清單中至少有一或多個參數相符,Exchange 會記錄已執行的 Cmdlet。 下列各節包含稽核記錄設定之各個層面的詳細資訊。

如需管理稽核記錄設定的詳細資訊,請參閱管理系統管理員稽核記錄

Cmdlet

您可以提供要記錄的 Cmdlet 及其參數清單,以控制要稽核的 Cmdlet。 當您設定稽核記錄時,可以指定 稽核每個 Cmdlet,也可以使用 AdminAuditLogCmdlets 參數指定您想要稽核的 Cmdlet。 您可以指定完整的 Cmdlet 名稱,例如 New-Mailbox,也可以指定部分 Cmdlet 名稱,並以萬用字元括住這些名稱,例如星號 (*) 。 例如,如果您想要在任何包含字串 Transport 的 Cmdlet 執行時記錄,您可以指定 的 *Transport* 值。 您可以同時使用完整的 Cmdlet 名稱和部分 Cmdlet 名稱,根據您的需求量身打造稽核記錄組態。

若要稽核所有 Cmdlet,請只指定萬用字元 (*) 。 這是預設設定。

參數

除了指定您想要記錄的 Cmdlet 之外,您也可以指出只有在使用這些 Cmdlet 上的特定參數時,才應該記錄 Cmdlet。 使用 AdminAuditLogParameters 參數來指定應該記錄哪些參數。 如同使用 Cmdlet,您可以指定完整參數名稱,例如 Database ,或以萬用字元括住的部分參數名稱 () * ,例如 *Address* , 或兩者的組合。

若要稽核所有參數,請只指定萬用字元 (*) 。 這是預設設定。

管理員稽核記錄存留期限制

根據預設,系統管理員稽核記錄會設定為儲存稽核記錄專案 90 天。 90 天后,稽核記錄專案就會被刪除。 您可以使用 AdminAuditLogAgeLimit 參數來變更稽核記錄的存留期限制。 例如,若要將存留期限制變更為 180 天,請使用 命令 Set-AdminAuditLogConfig -AdminAuditLogAgeLimit 180 。 您也可以指定應該保留稽核記錄專案的天數、小時數、分鐘數和秒數。 若要指定值,請使用下列適用的格式 dd.hh:mm:ss

  • dd:保留稽核記錄專案的天數。

  • hh:保留稽核記錄專案的時數。

  • mm:保留稽核記錄專案的分鐘數。

  • ss:保留稽核記錄專案的秒數。

您必須使用 dd 欄位指定多年。 例如,365 天等於一年;730 天等於兩年;913 天等於兩年六個月。 例如,若要將稽核記錄存留期限制設定為兩年和六個月,請使用 值 913

附註

  • 您可以將系統管理員稽核記錄的存留期限制設定為小於目前年齡限制的值。 如果您這樣做,則會刪除其年齡超過新年齡限制的任何稽核記錄專案。

  • 如果您將存留期限制設為 0,Exchange 會刪除稽核記錄中的所有專案。

  • 建議您指派許可權,只將稽核記錄的存留期限制設定給高度信任的使用者。

詳細資訊記錄

根據預設,系統管理員稽核記錄只會記錄 Cmdlet 名稱、Cmdlet 參數 (以及指定) 的值、已修改的物件、執行 Cmdlet 的人員、執行 Cmdlet 的時間,以及 Cmdlet 執行所在的伺服器上。 系統管理員稽核記錄不會記錄物件上已修改的屬性。 如果您想要管理稽核記錄也包含已修改之物件的屬性,您可以將 LogLevel 參數 Verbose 設定為 來啟用詳細資訊記錄。 當您啟用詳細資訊記錄時,除了預設記錄的資訊之外,系統管理員稽核記錄中也會包含在物件上修改的屬性,包括其舊值和新值。

測試指令程式

預設不會記錄以動詞 測試 開頭的 Cmdlet。 您可以將TestCmdletLoggingEnabled參數 $true 設定為 ,以指出應該記錄Test Cmdlet。 雖然您可以啟用測試 Cmdlet 的記錄,但建議您只在短時間內執行這項作業,因為測試 Cmdlet 可以產生大量的稽核記錄專案。

管理員稽核記錄

每次記錄 Cmdlet 時,都會建立系統管理員稽核記錄專案。 稽核記錄專案會儲存在系統管理稽核記錄中,該記錄會儲存在隱藏的專用仲裁信箱中,而該信箱只能使用 EAC、 Search-AdminAuditLog Cmdlet 或 New-AdminAuditLogSearch Cmdlet 來存取。 下列各節提供下列相關資訊:

  • 系統管理員稽核記錄中包含的內容。

  • EAC 稽核 頁面上提供的報告。

  • 管理員稽核記錄搜尋 Cmdlet。

稽核記錄內容

每個稽核記錄專案都包含下表所述的資訊。 稽核記錄包含一或多個稽核記錄專案。 稽核記錄專案數目是由使用 Set-AdminAuditLogConfig -AdminAuditLogAgeLimit 命令所指定的稽核記錄存留期限制所控制。 任何超過存留期限制的稽核記錄專案都會被刪除。

稽核記錄檔輸入欄位

欄位 描述
RunspaceId Exchange 會在內部使用此欄位。
ObjectModified 此欄位包含欄位中指定之 Cmdlet 所修改的 CmdletName 物件。
CmdletName 此欄位包含使用者在 欄位中 Caller 執行的 Cmdlet 名稱。
CmdletParameters 此欄位包含執列欄位中的 Cmdlet 時所指定的 CmdletName 參數。 此外,如果是使用 參數指定的值,則會儲存在此欄位中,但預設輸出中看不到。
ModifiedProperties 此欄位包含欄位中物件上已修改的 ObjectModified 屬性。 同時儲存在此欄位中,但預設輸出中看不到的是 屬性的舊值和儲存的新值。
重要:只有在Set-AdminAuditLogConfig Cmdlet 上的LogLevel參數設定為 時,才會填入 verbose 此欄位。
Caller 此欄位包含在 欄位中執行 Cmdlet 之使用者的 CmdletName 使用者帳戶。
Succeeded 此欄位會指定欄位中的 CmdletName Cmdlet 是否成功執行。 值為 TrueFalse
Error 如果欄位中的 CmdletName Cmdlet 無法順利完成,此欄位會包含所產生的錯誤訊息。
RunDate 此欄位包含執列欄位中 Cmdlet 的 CmdletName 日期和時間。 日期和時間會以格林威治標準時間 (UTC) 格式儲存。
OriginatingServer 此欄位指出執列欄位中指定之 Cmdlet 的 CmdletName 伺服器。
Identity Exchange 會在內部使用此欄位。
IsValid Exchange 會在內部使用此欄位。
ObjectState Exchange 會在內部使用此欄位。

EAC 稽核報告

EAC 中的 [稽核 ] 頁面有數份報告,提供各種合規性和系統管理組態變更類型的相關資訊。 下列報告提供組織中組態變更的相關資訊:

  • 系統管理員角色群組報告:此報告可讓您搜尋您在指定時間範圍內指定之管理角色群組的變更。 傳回的結果包括已變更的角色群組、變更者、變更時機,以及已進行哪些變更。 最多可以傳回 3,000 個專案。 如果您的搜尋可能傳回超過 3,000 個專案,請使用 系統管理員稽核記錄 報告或 Search-AdminAuditLog Cmdlet。

  • 管理員稽核記錄報告:此報告可讓您檢視在指定時間範圍內記錄的系統管理稽核記錄專案。 您也可以將系統管理員稽核記錄專案匯出至 XML 檔案,然後透過電子郵件將檔案傳送給您指定的收件者。 如需 XML 檔案內容的詳細資訊,請參閱 系統管理員稽核記錄結構

如需如何使用這些報告的資訊,請 參閱搜尋角色群組變更或系統管理員稽核記錄

Search-AdminAuditLog 指令程式

當您執行 Search-AdminAuditLog Cmdlet 時,會傳回符合搜尋準則的所有稽核記錄專案。 您可以指定下列搜尋準則:

  • Cmdlet:指定您想要在系統管理員稽核記錄中搜尋的 Cmdlet。

  • 參數:指定您想要在系統管理員稽核記錄中搜尋的參數,以逗號分隔。 只有在指定要搜尋的 Cmdlet 時,才能搜尋參數。

  • 結束日期:將系統管理員稽核記錄結果的範圍設定為記錄在指定日期或之前發生的專案。

  • 開始日期:將系統管理員稽核記錄結果的範圍設定為記錄在指定日期或之後發生的專案。

  • 物件識別碼:指定只傳回包含指定已變更物件的管理員稽核記錄專案

  • 使用者識別碼:指定只傳回包含執行 Cmdlet 之使用者之指定識別碼的管理員稽核記錄專案。

  • 成功完成:指定是否只傳回指出成功或失敗的系統管理員稽核記錄專案。

每個稽核記錄專案都包含稽核 記錄內容中資料表中所述的資訊。 根據預設,只會傳回符合搜尋準則的前 1,000 個記錄專案。 不過,您可以覆寫此預設值,並使用 ResultSize 參數傳回更多或更少的專案。 您可以使用ResultSize參數指定 的 Unlimited 值,以傳回符合指定準則的所有記錄專案。

如需如何使用 Search-AdminAuditLog Cmdlet 的資訊,請參閱 搜尋角色群組變更或系統管理員稽核記錄

New-AdminAuditLogSearch 指令程式

New-AdminAuditLogSearch Cmdlet 會搜尋系統管理員稽核記錄,就像Search-AdminAuditLog Cmdlet 一樣。 不過, New-AdminAuditLogSearch Cmdlet 不會在 Exchange 管理命令介面中顯示搜尋結果,而是會執行搜尋,然後透過電子郵件訊息將結果傳送給您指定的收件者。 結果會包含為電子郵件訊息的 XML 附件。

您可以搭配Search-AdminAuditLog Cmdlet 上使用的New-AdminAuditLogSearch Cmdlet 使用相同的搜尋準則。 如需搜尋準則的清單,請 參閱 Search-AdminAuditLog Cmdlet

執行 New-AdminAuditLogSearch Cmdlet 之後,Exchange 最多可能需要 15 分鐘的時間,才能將報表傳遞給指定的收件者。 XML 檔案附加報表最多可以是 10 MB。 XML 檔案包含稽核 記錄內容中資料表中所述的相同資訊。 如需 XML 檔案結構的詳細資訊,請參閱 系統管理員稽核記錄結構

注意事項

Outlook Web App預設不允許您開啟 XML 附件。 您可以設定 Exchange 以允許使用Outlook Web App檢視 XML 附件,或使用另一個電子郵件用戶端,例如 Microsoft Outlook 來檢視附件。 如需如何設定Outlook Web App以允許您檢視 XML 附件的資訊,請參閱在 Exchange Server 中檢視或設定Outlook 網頁版虛擬目錄

如需如何使用 New-AdminAuditLogSearch Cmdlet 的資訊,請參閱 搜尋角色群組變更或系統管理員稽核記錄

手動管理稽核記錄專案

除了在執行 Exchange Cmdlet 時記錄它們之外,Exchange Server可讓您手動將記錄專案寫入稽核記錄檔。 Exchange Server使用Write-AdminAuditLog Cmdlet 來支援此功能。 您可能想要新增手動記錄專案的情況包括:

  • 自訂指令碼項目並結束

  • 變更控制項資訊

  • 維護開始和結束時間

使用 Write-AdminAuditLog Cmdlet,您可以使用 Comment 參數指定要包含在稽核記錄中的文字字串。 Comment參數接受最多 500 個字元的英數位元字串。 手動稽核記錄專案以及批註字串包含在記錄 Exchange Cmdlet 時所擷取的所有相同資訊。 如需稽核記錄中每個欄位的描述,請參閱 稽核記錄內容中的資料表。

您可以使用 EAC 稽 核頁面或使用 Search-AdminAuditLogNew-AdminAuditLogSearch Cmdlet,以與任何其他記錄專案相同的方式擷取手動稽核記錄專案。

若要在手動稽核記錄專案中檢視Write-AdminAuditLog Cmdlet 上的Comment參數內容,請參閱搜尋角色群組變更或系統管理員稽核記錄

Active Directory 複寫

系統管理員稽核記錄依賴 Active Directory 複寫,將您指定的組態設定複寫到組織中的網域控制站。 根據您的複寫設定,您所做的變更可能不會立即套用至組織中執行 Exchange 的所有伺服器。

管理稽核記錄代理程式

管理員稽核記錄內建 Cmdlet 延伸模組代理程式會在 Exchange Server 中執行 Cmdlet 作業的系統管理員稽核記錄。 此代理程式會讀取稽核記錄組態,然後評估組織中每個執行的 Cmdlet。 如果您在管理稽核記錄組態中指定的準則符合正在執行的 Cmdlet,代理程式會產生稽核記錄專案。

預設會啟用管理員稽核記錄代理程式,這是系統管理員稽核記錄運作的必要條件。 無法停用,且其優先順序無法變更。 如需 Cmdlet 擴充功能代理程式的詳細資訊,請參閱 Cmdlet 擴充代理程式