Search-UnifiedAuditLog

此 cmdlet 仅在基于云的服务中可用。

使用 Search-UnifiedAuditLog cmdlet 搜索统一审核日志。 此日志包含来自 Exchange Online、SharePoint Online、OneDrive for Business、Azure Active Directory、Microsoft Teams、Power BI 和其他Microsoft 365 服务的事件。 可以搜索指定日期范围中的所有事件,也可以根据特定条件(例如执行操作的用户、操作或目标对象)筛选结果。

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

语法

Search-UnifiedAuditLog
      -EndDate <ExDateTime>
      -StartDate <ExDateTime>
      [-Formatted]
      [-FreeText <String>]
      [-IPAddresses <String[]>]
      [-ObjectIds <String[]>]
      [-Operations <String[]>]
      [-RecordType <AuditRecordType>]
      [-ResultSize <Int32>]
      [-SessionCommand <UnifiedAuditSessionCommand>]
      [-SessionId <String>]
      [-SiteIds <String[]>]
      [-UserIds <String[]>]
      [<CommonParameters>]

说明

Search-UnifiedAuditLog cmdlet 根据同一命令的重复迭代呈现数据页。 使用 SessionId 和 SessionCommand 重复运行该 cmdlet,直到返回零,或达到结果数量上限(以会话命令为依据)为止。 若要衡量进度,请查看当前迭代) 中的 ResultIndex (命中数,以及对于 cmdlet 返回的数据) 属性的所有迭代的 ResultCount (命中数。

Exchange Online PowerShell 中提供了 Search-UnifiedAuditLog cmdlet。 还可以使用 Microsoft Purview 合规门户查看统一审核日志中的事件。 有关详细信息,请参阅 已审核的活动

如果要以编程方式从 Microsoft 365 审核日志下载数据,建议使用 Microsoft 365 管理活动 API,而不是在 PowerShell 脚本中使用 Search-UnifiedAuditLog cmdlet。 Microsoft 365 管理活动 API 是一项 REST Web 服务,可用于为组织开发操作、安全性和合规性监视解决方案。 有关详细信息,请参阅 管理活动 API 参考

此 cmdlet 在世纪互联运营的 Office 365 中可用,但它不会返回任何结果。

OutVariable 参数接受 ArrayList 类型的对象。 下面是如何使用它的示例:

$start = (Get-Date).AddDays(-1); $end = (Get-Date).AddDays(-0.5); $auditData = New-Object System.Collections.ArrayList; Search-UnifiedAuditLog -StartDate $start -EndDate $end -OutVariable +auditData | Out-Null

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

示例

示例 1

Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/2/2018

本示例在统一审核日志中搜索从 5 月 1 日上午 201812:00 到 2018 年 5 月 2 日上午 12:00 的所有事件。

注意:如果未在 StartDate 或 EndDate 参数的值中包含时间戳,则使用默认时间戳 12:00 AM (午夜) 。

示例 2

Search-UnifiedAuditLog -StartDate "6/1/2018 8:00 AM" -EndDate "6/1/2018 6:00 PM" -RecordType ExchangeAdmin

本示例在统一审核日志中搜索 2018 年 6 月 1 日上午 8:00 到下午 6:00 的所有 Exchange 管理员事件。

注意 如果对 StartDate 和 EndDate 参数使用相同的日期,则需要包含时间戳;否则,不会返回任何结果,因为开始和结束日期的日期和时间将相同。

示例 3

Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -SessionId "UnifiedAuditLogSearch 05/08/17" -SessionCommand ReturnLargeSet

此示例在统一审核日志中搜索 2018 年 5 月 1 日到 2018 年 5 月 8 日的所有事件。 如果未在 StartDate 或 EndDate 参数中包含时间戳,则在使用相同的 SessionId 值时,将按顺序重新运行命令,因此将在页面中返回数据。

注意:请务必对给定的 SessionId 值使用相同的 SessionCommand 值。 对于同一会话 ID,请勿切换 ReturnLargeSet 和 ReturnNextPreviewPage。 否则,输出限制为 10,000 个结果。

示例 4

Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -RecordType SharePointFileOperation -Operations FileAccessed -SessionId "WordDocs_SharepointViews"-SessionCommand ReturnLargeSet

本示例在统一审核日志中搜索从 2018 年 5 月 1 日到 2018 年 5 月 8 日在 SharePoint Online 中访问的任何文件。 数据按页返回,因为在使用同一个 SessionId 值时,命令按顺序重新运行。

示例 5

Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -ObjectIDs "https://alpinehouse.sharepoint.com/sites/contoso/Departments/SM/International/Shared Documents/Sales Invoice - International.docx"

本示例在 2018 年 5 月 1 日到 2018 年 5 月 8 日统一审核日志中搜索与其 ObjectIDs 值标识的特定 Word 文档相关的所有事件。

参数

-EndDate

EndDate 参数指定日期范围的结束日期。 条目存储在协调世界时 (UTC) 的统一审核日志中。 如果指定不带时区的日期/时间值,则该值采用 UTC 格式。

若要指定此参数的日期/时间值,请使用下列方法之一:

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

如果未在此参数的值中包含时间戳,则默认时间戳为 12:00 AM (午夜) 指定日期。

Type:ExDateTime
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-Formatted

Formatted 开关会导致通常以整数 (返回的属性(例如 RecordType 和 Operation) )的格式设置为描述性字符串。 不必为此开关指定值。

此外,此开关使 AuditData 更易于阅读。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-FreeText

FreeText 参数按指定的文本字符串筛选日志条目。 如果值中有空格,请使用双引号 (") 将此值括起来。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-IPAddresses

IPAddresses 参数按指定的 IP 地址筛选日志条目。 指定用逗号分隔的多个 IP 地址。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-ObjectIds

ObjectIds 参数按对象 ID 筛选日志条目。 对象 ID 是针对其操作的目标对象,取决于事件的 RecordType 和 Operations 值。 例如,对于 SharePoint 操作,对象 ID 是文件、文件夹或网站的 URL 路径。 对于 Azure Active Directory 操作,对象 ID 是帐户的帐户名称或 GUID 值。

ObjectId 值显示在事件的 AuditData(也称为详细信息)属性中。

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-Operations

Operations 参数按操作筛选日志条目。 此参数的可用值取决于 RecordType 值。 有关此参数的可用值的列表,请参阅 已审核的活动

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-RecordType

RecordType 参数按记录类型筛选日志条目。 有关可用值的详细信息,请参阅 AuditLogRecordType

Type:AuditRecordType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-ResultSize

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-SessionCommand

SessionCommand 参数指定返回的信息量及其组织方式。 有效值包含:

  • ReturnLargeSet:此值会导致 cmdlet 返回未排序的数据。 通过使用分页,最多可以访问 50,000 个结果。 如果不需要有序结果并且已针对搜索延迟进行了优化,则这是建议的值。
  • ReturnNextPreviewPage:此值会导致 cmdlet 返回按日期排序的数据。 通过使用分页或 ResultSize 参数返回的最大记录数为 5,000 条记录。

注意:请务必对给定的 SessionId 值使用相同的 SessionCommand 值。 对于同一会话 ID,请勿切换 ReturnLargeSet 和 ReturnNextPreviewPage。 否则,输出限制为 10,000 个结果。

Type:UnifiedAuditSessionCommand
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-SessionId

SessionId 参数指定您以字符串形式提供的 ID,以确定将多次运行以返回分页数据的命令(cmdlet 及其参数)。 SessionId 可以是您选择的任何字符串值。

当 cmdlet 使用相同的会话 ID 按顺序运行时,cmdlet 将以 ResultSize 指定的大小的顺序块返回数据。

对于指定会话 ID,如果使用 SessionCommand 值 ReturnLargeSet,然后使用 SessionCommand 值 ReturnNextPreviewPage,那么返回的结果只包含 10,000 条记录。 若要获取全部 50,000 条记录,请在每次运行 cmdlet 时始终对同一会话 ID 使用 ReturnLargeSet 值。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-SiteIds

SiteIds 参数按 SharePoint SiteId (GUID) 筛选日志条目。 可以输入用逗号分隔的多个值: Value1, Value2,...ValueN

若要获取 SharePoint 网站的 SiteId,请追加 /_api/site/id 到要指定的网站集的 URL。 例如,将 URL https://contoso.sharepoint.com/sites/hr-project 更改为 https://contoso.sharepoint.com/sites/hr-project/_api/site/id。 返回 XML 有效负载,网站集的 SiteId 显示在 Edm.Guid 属性中;例如: <d:Id xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" m:type="Edm.Guid">14ab81b6-f23d-476a-8cac-ad5dbd2910f7</d:Id>

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-StartDate

StartDate 参数指定日期范围的起始日期。 条目存储在协调世界时 (UTC) 的统一审核日志中。 如果指定不带时区的日期/时间值,则该值采用 UTC 格式。

若要指定此参数的日期/时间值,请使用下列方法之一:

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

如果未在此参数的值中包含时间戳,则默认时间戳为 12:00 AM (午夜) 指定日期。

Type:ExDateTime
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-UserIds

UserIds 参数按执行操作的用户的帐户 (UserPrincipalName) 筛选日志条目。 例如,laura@contoso.onmicrosoft.com。

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection