如何在 Exchange Server 中使用管理员审核日志记录

可以在 Exchange Server 中使用管理员审核日志记录来记录用户或管理员在你的组织中进行更改时。 通过保留更改日志,您可以跟踪对进行更改的人员所做的更改、通过详细记录实施的更改来扩充更改日志、遵守法规要求和发现请求等等。

默认情况下,在 Exchange Server 的新安装中启用管理员审核日志记录。

要审核的内容

对于直接在 Exchange 命令行管理程序 中运行的 cmdlet 要进行审核。 此外,由于使用 Exchange 管理中心 (EAC) 执行的操作将在后台运行 cmdlet,因此这些操作也会记录。

如果某个 cmdlet 位于 cmdlet 审核列表上并且该 cmdlet 的一个或多个参数位于参数审核列表上,则无论 cmdlet 在何处运行,都会对其进行审核。 审核日志记录旨在显示为修改 Exchange 组织中的对象而执行了哪些操作,而不是显示查看了哪些对象。

注意

  • 如果某个 cmdlet 调用管理审核日志 cmdlet 扩展代理之前发生错误,则可能不会记录该 cmdlet。 如果在调用管理审核日志代理之后发生错误,则会记录该 cmdlet 以及关联的错误。 有关详细信息,请参阅本主题后面的管理审核日志代理一节。

  • 在打开了 Exchange 命令行管理程序 的计算机上,在对审核日志配置进行更改之后,所做的更改会每隔 60 分钟刷新一次。 如果想要立即应用所做的更改,请在每台计算机上关闭并重新打开 Exchange 命令行管理程序。

  • 命令运行后,最多可能需要 15 分钟才会出现在审核日志搜索结果中。 这是因为审核日志条目必须先编制索引,然后才能进行搜索。 如果命令未显示在管理员审核日志中,请等待几分钟,然后再次运行搜索。

管理员审核日志记录配置

默认情况下,启用管理员审核日志记录后,每次运行任何 cmdlet 时都会创建一个日志条目。 如果不想对所运行的每个 cmdlet 进行审核,则可以将审核日志记录配置为仅对您感兴趣的 cmdlet 和参数进行审核。 请用 Set-AdminAuditLogConfig cmdlet 配置审核日志记录。 以下各部分中引用的参数可与此 cmdlet 配合使用。

重要

无论 Set-AdminAuditLogConfig cmdlet 是否包括在要审核的 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

默认情况下,不记录以谓词 Test 开头的 cmdlet。 可以通过将 TestCmdletLoggingEnabled 参数设置为 来$true指示应记录测试 cmdlet。 虽然可以启用测试 cmdlet 的日志记录,但由于测试 cmdlet 将生成大量审核日志条目,因此建议您只在短时间内执行此操作。

管理员审核日志

每次记录 cmdlet 时,都会创建管理员审核日志条目。 审核日志条目存储在管理员审核日志中,该日志存储在隐藏的专用仲裁邮箱中,该邮箱只能通过使用 EAC 或 Search-AdminAuditLog cmdlet 或 New-AdminAuditLogSearch cmdlet 进行访问。 以下各节提供有关以下内容的信息:

  • 管理员审核日志中包括的内容。

  • Reports available on the EAC Auditing page.

  • 管理员审核日志搜索 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 此字段指定字段中的 cmdlet CmdletName 是否成功运行。 值为 TrueFalse
Error 如果字段中的 cmdlet CmdletName 未能成功完成,则此字段包含生成的错误消息。
RunDate 此字段包含运行字段中的 cmdlet CmdletName 的日期和时间。 日期和时间存储为协调世界时 (UTC) 格式。
OriginatingServer 此字段指示运行字段中指定的 CmdletName cmdlet 的服务器。
Identity 此字段由 Exchange 在内部使用。
IsValid 此字段由 Exchange 在内部使用。
ObjectState 此字段由 Exchange 在内部使用。

EAC 审核报告

EAC 中的“审核”页面包括若干个报告,提供有关各种类型的合规性和管理配置更改的信息。 The following reports provide information about configuration changes in your organization:

  • 管理员角色组报告:使用此报表可以搜索在指定时间范围内指定的管理角色组的更改。 The results that are returned include the role groups that have been changed, who changed them and when, and what changes were made. A maximum of 3,000 entries can be returned. If your search might return more than 3,000 entries, use the Administrator audit log report or the Search-AdminAuditLog cmdlet.

  • 管理员审核日志报告:使用此报告可以查看在指定时间范围内记录的管理员审核日志中的条目。 您还可以将管理员审核日志条目导出到一个 XML 文件,然后通过电子邮件将该文件发送给您指定的收件人。 有关 XML 文件内容的详细信息,请参阅 管理员审核日志结构

有关如何使用这些报表的信息,请参阅 搜索角色组更改或管理员审核日志

Search-AdminAuditLog cmdlet

在运行 Search-AdminAuditLog cmdlet 时,会返回与搜索条件匹配的所有审核日志条目。 可以指定以下搜索条件:

  • Cmdlet:指定要在管理员审核日志中搜索的 cmdlet。

  • 参数:指定要在管理员审核日志中搜索的参数(用逗号分隔)。 仅当指定了要搜索的 cmdlet 时,才能搜索参数。

  • 结束日期:将管理员审核日志结果的范围限定为在指定日期或之前发生的日志条目。

  • 开始日期:将管理员审核日志结果的范围限定为在指定日期或之后发生的日志条目。

  • 对象 ID:指定仅返回包含指定已更改对象的管理员审核日志条目

  • 用户 ID:指定仅返回包含运行 cmdlet 的用户的指定 ID 的管理员审核日志条目。

  • 成功完成:指定是仅返回指示成功还是失败的管理员审核日志条目。

每个审核日志条目都包含审核日志内容中的表所述的信息。 默认情况下,仅返回与搜索条件匹配的前 1,000 个日志条目。 不过,可以使用 ResultSize 参数覆盖此默认设置并返回更多或更少的条目。 可以使用 ResultSize 参数指定 值Unlimited,以返回与指定条件匹配的所有日志条目。

有关如何使用 Search-AdminAuditLog cmdlet 的信息,请参阅 搜索角色组更改或管理员审核日志

New-AdminAuditLogSearch cmdlet

New-AdminAuditLogSearch cmdlet 如同 Search-AdminAuditLog cmdlet 一样,用于搜索管理员审核日志。 然而, New-AdminAuditLogSearch cmdlet 会执行搜索,然后通过电子邮件将结果发送给指定的收件人,而不是在 Exchange 命令行管理程序中显示搜索的结果。 结果作为 XML 附件包含在电子邮件中。

可以对 New-AdminAuditLogSearch cmdlet 使用与 Search-AdminAuditLog 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 时捕获的信息。 有关审核日志中包括的每个字段的说明,请参阅 审核日志内容中的表。

You can retrieve manual audit log entries the same way as any other log entry, using the EAC Auditing page or using the Search-AdminAuditLog or New-AdminAuditLogSearch cmdlets.

若要在手动审核日志条目中查看 Write-AdminAuditLog cmdlet 上的 Comment 参数的内容,请参阅搜索角色组更改或管理员审核日志

Active Directory 复制

管理员审核日志记录依赖 Active Directory 复制功能将指定的配置设置复制到贵组织中的域控制器。 根据复制设置,所做的更改可能无法立即应用于组织中所有运行 Exchange 的服务器。

管理审核日志代理

管理员审核日志内置 cmdlet 扩展代理对 Exchange Server 中的 cmdlet 操作执行管理员审核日志记录。 此代理读取审核日志配置,然后对组织中运行的每个 cmdlet 执行评估。 如果您在管理员审核日志配置中指定的条件与所运行的 cmdlet 匹配,则代理会生成审核日志条目。

默认情况下启用 Admin Audit Log 代理,此代理对于管理员审核日志记录正常工作至关重要。 不能将其禁用,并且不能更改其优先级。 有关 cmdlet 扩展代理的详细信息,请参阅 Cmdlet Extension Agents