Search-AdminAuditLog

此 cmdlet 可在本地 Exchange 和基于云的服务中使用。 一些参数和设置可能只适用于某个特定的环境。

使用 Search-AdminAuditLog cmdlet 可以搜索管理员审核日志的内容。 当用户或管理员在 Exchange 管理中心 (或通过使用 cmdlet) 更改组织时,管理员审核日志记录记录。

有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法

语法

Search-AdminAuditLog
      [-Cmdlets <MultiValuedProperty>]
      [-DomainController <Fqdn>]
      [-EndDate <ExDateTime>]
      [-ExternalAccess <Boolean>]
      [-IsSuccess <Boolean>]
      [-ObjectIds <MultiValuedProperty>]
      [-Parameters <MultiValuedProperty>]
      [-ResultSize <Int32>]
      [-StartDate <ExDateTime>]
      [-StartIndex <Int32>]
      [-UserIds <MultiValuedProperty>]
      [<CommonParameters>]

说明

如果运行的 Search-AdminAuditLog cmdlet 不带任何参数,则默认情况下最多可以返回 1,000 个日志条目。

在 Exchange Online PowerShell 中,如果不使用 StartDate 或 EndDate 参数,则仅返回过去 14 天的结果。

在 Exchange Online PowerShell 中,数据在过去 90 天内可用。 可以输入超过 90 天的日期,但只会返回过去 90 天的数据。

有关审核日志的结构和属性的详细信息,请参阅 管理员审核日志结构

您必须先获得权限,然后才能运行此 cmdlet。 虽然本主题中列出了此 cmdlet 的所有参数,但如果这些参数并未包含在分配给您的权限中,那么您将无法使用这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet

示例

示例 1

Search-AdminAuditLog -Cmdlets New-RoleGroup,New-ManagementRoleAssignment

本示例查找包含 New-RoleGroup 或 New-ManagementRoleAssignment cmdlet 的所有管理员审核日志条目。

示例 2

Search-AdminAuditLog -Cmdlets Set-Mailbox -Parameters UseDatabaseQuotaDefaults,ProhibitSendReceiveQuota,ProhibitSendQuota -StartDate 01/24/2018 -EndDate 02/12/2018 -IsSuccess $true

本示例查找符合以下条件的所有管理员审核日志条目:

  • Cmdlet:Set-Mailbox
  • 参数:UseDatabaseQuotaDefaults、ProhibitSendReceiveQuota、ProhibitSendQuota
  • StartDate: 01/24/2018
  • EndDate: 02/12/2018

命令成功完成

示例 3

$LogEntries = Search-AdminAuditLog -Cmdlets Write-AdminAuditLog

$LogEntries | ForEach { $_.CmdletParameters }

此示例显示 Write-AdminAuditLog cmdlet 写入管理员审核日志的所有注释。

首先,将审核日志条目存储在临时变量中。 然后,循环访问返回的所有审核日志条目并显示 Parameters 属性。

示例 4

Search-AdminAuditLog -ExternalAccess $true -StartDate 09/17/2018 -EndDate 10/02/2018

本示例返回 microsoft 数据中心管理员在 2018 年 9 月 17 日至 2018 年 10 月 2 日之间运行 cmdlet 的Exchange Online组织的管理员审核日志中的条目。

参数

-Cmdlets

Cmdlets 参数按使用的 cmdlet 筛选结果。 可以指定多个以逗号分隔的 cmdlet。

在此 cmdlet 的结果中,此属性名为 CmdletName

Type:MultiValuedProperty
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

-DomainController

此参数只在本地 Exchange 中可用。

DomainController 参数指定此 cmdlet 从 Active Directory 读取数据或向其写入数据时使用的域控制器。 可以使用完全限定的域名 (FQDN) 来标识域控制器。 例如,dc01.contoso.com。

Type:Fqdn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-EndDate

EndDate 参数指定日期范围的结束日期。

请使用短日期格式,该格式在运行命令的计算机上的“区域选项”设置中定义。 例如,如果将计算机配置为使用短日期格式 mm/dd/yyyy,请输入 09/01/2018 来指定 2018 年 9 月 1 日。 可以只输入日期,也可以输入当天的日期和时间。 如果输入当天的日期和时间,请将该值括在引号 (") 中,例如,"09/01/2018 5:00 PM"。

在基于云的服务中,如果指定日期/时间值而不指定时区,则该值位于协调世界时 (UTC) 。 若要指定此参数的日期/时间值,请使用下列方法之一:

  • 指定 UTC 中的日期/时间值:例如,“2021-05-06 14:30:00z”。
  • 将日期/时间值指定为将本地时区中的日期/时间转换为 UTC 的公式:例如 (Get-Date "5/6/2021 9:30 AM").ToUniversalTime()。 有关详细信息,请参阅 Get-Date

在此 cmdlet 的结果中,在名为 RunDate 的属性中返回 (运行 cmdlet) 进行更改的日期/时间。

Type:ExDateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

-ExternalAccess

ExternalAccess 参数按组织外部用户) 运行的 cmdlet (所做的更改来筛选结果。 有效值包含:

  • $true:仅返回外部用户进行更改的审核日志条目。 在 Exchange Online 中,使用 值返回 Microsoft 数据中心管理员所做的更改的审核日志条目。
  • $false:仅返回内部用户进行更改的审核日志条目。
Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

-IsSuccess

IsSuccess 参数根据更改是否成功筛选结果。 有效值包含:

  • $true:仅返回更改成功的审核日志条目 (换句话说,cmdlet) 成功运行。
  • $false:仅返回更改不成功的审核日志条目 (换句话说,cmdlet 未成功运行并导致) 错误。

在此 cmdlet 的结果中,此属性名为 Succeeded

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

-ObjectIds

ObjectIds 参数按邮箱、公用文件夹、发送连接器、传输规则、接受域等 (修改的对象筛选结果。cmdlet 在) 上运行的 。 有效值取决于对象在审核日志中的表示方式。 例如:

  • 名称
  • 例如, (规范的可分辨名称,contoso.com/Users/Akia 祖海里)
  • 公用文件夹标识 (,例如\Engineering\Customer Discussion)

可能需要在此 cmdlet 上使用其他筛选参数来缩小结果范围,并确定感兴趣的对象类型。 在此 cmdlet 的结果中,此属性名为 ObjectModified

Update 如果值包含空格或需要引号,请使用以下语法: "Value1","Value2",..."ValueN"

Type:MultiValuedProperty
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

-Parameters

Parameters 参数按使用的参数筛选结果。 只能将此参数与 Cmdlets 参数一起使用, (不能单独) 使用它。 可以指定用逗号分隔的多个参数。

在此 cmdlet 的结果中,此属性名为 CmdletParameters

Type:MultiValuedProperty
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

-ResultSize

ResultSize 参数指定了要返回的结果的最大数量。 默认值为 1000。

要返回的最大结果为 250,000。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

-StartDate

StartDate 参数指定日期范围的起始日期。

请使用短日期格式,该格式在运行命令的计算机上的“区域选项”设置中定义。 例如,如果将计算机配置为使用短日期格式 mm/dd/yyyy,请输入 09/01/2018 来指定 2018 年 9 月 1 日。 可以只输入日期,也可以输入当天的日期和时间。 如果输入当天的日期和时间,请将该值括在引号 (") 中,例如,"09/01/2018 5:00 PM"。

在基于云的服务中,如果指定日期/时间值而不指定时区,则该值位于协调世界时 (UTC) 。 若要指定此参数的日期/时间值,请使用下列方法之一:

  • 指定 UTC 中的日期/时间值:例如,“2021-05-06 14:30:00z”。
  • 将日期/时间值指定为将本地时区中的日期/时间转换为 UTC 的公式:例如 (Get-Date "5/6/2021 9:30 AM").ToUniversalTime()。 有关详细信息,请参阅 Get-Date

在此 cmdlet 的结果中,在名为 RunDate 的属性中返回 (运行 cmdlet) 进行更改的日期/时间。

Type:ExDateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

-StartIndex

StartIndex 参数指定所显示的结果在结果集中的起始位置。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

-UserIds

UserIds 参数按更改的用户 (运行 cmdlet) 的用户筛选结果。

此参数的典型值为 UPN (用户主体名称;例如, helpdesk@contoso.com) 。 但是,由没有电子邮件地址的系统帐户进行的更新可能使用 Domain\Username 语法 (例如 NT AUTHORITY\SYSTEM (MSExchangeHMHost) ) 。

Update 如果值包含空格或需要引号,请使用以下语法: "User1","User2",..."UserN"

在此 cmdlet 的结果中,此属性名为 Caller

Type:MultiValuedProperty
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Security & Compliance, Exchange Online Protection

输入

Input types

若要了解此 cmdlet 接受的输入类型,请参阅 cmdlet 的输入和输出类型。 如果 cmdlet 的"输入类型"字段为空,则表明此 cmdlet 不接受输入数据。

输出

Output types

若要了解此 cmdlet 接受的返回类型(亦称为"输出类型"),请参阅 cmdlet 的输入和输出类型。 如果"输出类型"字段为空,则表明此 cmdlet 不返回任何数据。