次の方法で共有


Search-UnifiedAuditLog

このコマンドレットは、クラウドベースのサービスでのみ使用できます。

統合監査ログを検索するには、Search-UnifiedAuditLog コマンドレットを使用します。 このログには、Exchange Online、SharePoint、OneDrive、Microsoft Entra ID、Microsoft Teams、Power BI、およびその他の Microsoft 365 サービスからのイベントが含まれています。 指定した日付範囲のすべてのイベントを検索することも、アクションを実行したユーザー、アクション、ターゲット オブジェクトなど、特定の条件に基づいて結果をフィルター処理することもできます。

: 既定では、このコマンドレットは最大 100 個のレコードを含む結果のサブセットを返します。 ReturnLargeSet 値と共に SessionCommand パラメーターを使用して、最大 50,000 件の結果を完全に検索します。 SessionCommand パラメーターを使用すると、コマンドレットは並べ替えられていないデータを返します。

以下の構文セクションのパラメーター セットの詳細については、「Exchangeのコマンドレット構文」を参照してください。

構文

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

説明

Search-UnifiedAuditLog コマンドレットは、同じコマンドの繰り返しに基づいてデータのページを表示します。 SessionId と SessionCommand を使用して、戻り値が 0 になるまでコマンドレットを繰り返し実行するか、セッション コマンドに基づいて結果の最大数に達します。 進行状況を測定するには、コマンドレットによって返されるデータの ResultIndex (現在のイテレーションのヒット数) プロパティと ResultCount (すべてのイテレーションのヒット数) プロパティを確認します。

Search-UnifiedAuditLog コマンドレットは、Exchange Online PowerShell で使用できます。 Microsoft Purview コンプライアンス ポータルを使用して、統合監査ログからイベントを表示することもできます。 詳細については、「 監査されたアクティビティ」を参照してください。

プログラムによって Microsoft 365 監査ログからデータをダウンロードする場合は、PowerShell スクリプトで Search-UnifiedAuditLog コマンドレットを使用するのではなく、Microsoft 365 Management Activity API を使用することをお勧めします。 Microsoft 365 Management Activity API は、organizationの運用、セキュリティ、コンプライアンス監視ソリューションの開発に使用できる REST Web サービスです。 詳細については、「 Management Activity API リファレンス」を参照してください

このコマンドレットは、21Vianet が操作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

このコマンドレットを実行する際には、あらかじめアクセス許可を割り当てる必要があります。 このトピックにはこのコマンドレットのすべてのパラメーターが一覧表示されていますが、自分に割り当てられているアクセス許可に含まれていない一部のパラメーターにはアクセスできません。 コマンドレットを組織内で実行するために必要になるアクセス許可とパラメーターを調べるには、「 Find the permissions required to run any Exchange cmdlet」を参照してください。

例 1

Search-UnifiedAuditLog -StartDate 5/1/2023 -EndDate 5/2/2023 -SessionCommand ReturnLargeSet

この例では、2023 年 5 月 1 日午前 12:00 から 2023 年 5 月 2 日午前 12:00 までのすべてのイベントについて、統合監査ログを検索します。

: StartDate パラメーターまたは EndDate パラメーターの値にタイムスタンプを含めない場合は、既定のタイムスタンプ 12:00 AM (午前 0 時) が使用されます。

例 2

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

この例では、2023 年 6 月 1 日の午前 8 時から午後 6 時まで、すべての Exchange 管理者イベントの統合監査ログを検索します。

手記 StartDate パラメーターと EndDate パラメーターに同じ日付を使用する場合は、タイムスタンプを含める必要があります。それ以外の場合、開始日と終了日の日付と時刻が同じになるため、結果は返されません。

例 3

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

この例では、2023 年 5 月 1 日から 2023 年 5 月 8 日までのすべてのイベントについて、統合監査ログを検索します。 StartDate パラメーターまたは EndDate パラメーターにタイム スタンプを含めない場合、同じ SessionId 値を使用してコマンドを順番に再実行すると、ページでデータが返されます。

: 常に、指定された SessionId 値に同じ SessionCommand 値を使用します。 同じセッション ID に対して ReturnLargeSet と ReturnNextPreviewPage を切り替えないでください。 それ以外の場合、出力は 10,000 件の結果に制限されます。

例 4

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

この例では、2023 年 5 月 1 日から 2023 年 5 月 8 日まで SharePoint でアクセスされたすべてのファイルについて、統合監査ログを検索します。 同じ SessionId 値を使用してコマンドが順番に再実行されるため、データはページで返されます。

例 5

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

この例では、2023 年 5 月 1 日から 2023 年 5 月 8 日までの統合監査ログで、Object ID 値によって識別される特定の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 時 (午前 0 時) です。

型:ExDateTime
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-Formatted

[書式設定] スイッチを使用すると、通常は整数として返される属性 (RecordType や Operation など) が説明的な文字列として書式設定されます。 このスイッチで値を指定する必要はありません。

さらに、この切り替えにより、AuditData の読みやすくなります。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-FreeText

FreeText パラメーターは、指定したテキスト文字列でログ エントリをフィルター処理します。 値にスペースが含まれている場合は、値を二重引用符 (") で囲んでください。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-HighCompleteness

: このパラメーターは現在プレビュー段階であり、すべての組織で使用できるわけではありません。変更される可能性があります。

HighCompleteness スイッチは、結果のパフォーマンスの代わりに完全性を指定します。 このスイッチで値を指定する必要はありません。

このスイッチを使用すると、クエリはより完全な検索結果を返しますが、実行に大幅に時間がかかる場合があります。 このスイッチを使用しない場合、クエリの実行速度は速くなりますが、検索結果が見つからない可能性があります。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-IPAddresses

IPAddresses パラメーターは、指定された IP アドレスによってログ エントリをフィルター処理します。 複数の IP アドレスをコンマで区切って指定します。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-LongerRetentionEnabled

{{ Fill LongerRetentionEnabled Description }}

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-ObjectIds

ObjectIds パラメーターは、オブジェクト ID によってログ エントリをフィルター処理します。 オブジェクト ID は、操作対象のターゲット オブジェクトであり、イベントの RecordType 値と Operations 値に依存します。

たとえば、SharePoint 操作の場合、オブジェクト ID はファイル、フォルダー、またはサイトへの URL パスです。 サイト内のログを検索するには、サイト URL の前にワイルドカード (*) を追加します (たとえば、 "https://contoso.sharepoint.com/sites/test/*")。

Microsoft Entra操作の場合、オブジェクト ID はアカウントのアカウント名または GUID 値です。

ObjectId 値は、イベントの AuditData (Details とも呼ばれます) プロパティに表示されます。

Update 値にスペースを含める、または引用符を必要とする場合は、次の構文を使用します: "Value1","Value2",..."ValueN"

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-Operations

Operations パラメーターは、操作によってログ エントリをフィルター処理します。 このパラメーターで使用できる値は、RecordType 値によって異なります。 このパラメーターで使用可能な値の一覧については、「 監査されたアクティビティ」を参照してください。

Update 値にスペースを含める、または引用符を必要とする場合は、次の構文を使用します: "Value1","Value2",..."ValueN"

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-RecordType

RecordType パラメーターは、レコードの種類によってログ エントリをフィルター処理します。 使用可能な値の詳細については、「 AuditLogRecordType」を参照してください。

型:AuditRecordType
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-ResultSize

ResultSize パラメーターは、返される結果の最大数を指定します。 既定値は 100、最大値は 5,000 です。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-SessionCommand

SessionCommand パラメーターは、返される情報の量と編成方法を指定します。 このパラメーターは、100 件の結果の既定の制限を超える値を取得する場合に必要です。 有効な値は次のとおりです。

  • ReturnLargeSet: この値により、コマンドレットは並べ替えられていないデータを返します。 ページングを使用すると、最大 50,000 件の結果にアクセスできます。 これは、順序付けされた結果が不要で、検索待ち時間用に最適化されている場合に推奨される値です。
  • ReturnNextPreviewPage: この値により、コマンドレットは日付で並べ替えられたデータを返します。 ページングまたは ResultSize パラメーターを使用して返されるレコードの最大数は 5,000 レコードです。

: 常に、指定された SessionId 値に同じ SessionCommand 値を使用します。 同じセッション ID に対して ReturnLargeSet と ReturnNextPreviewPage を切り替えないでください。 それ以外の場合、出力は 10,000 件の結果に制限されます。

型:UnifiedAuditSessionCommand
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-SessionId

SessionId パラメーターは、ページングされたデータを返すために複数回実行されるコマンド (コマンドレットとそのパラメーター) を識別するために、文字列の形式で指定する ID を指定します。 SessionId には、任意の文字列値を選択できます。

コマンドレットを同じセッション ID で順番に実行すると、コマンドレットは ResultSize で指定されたサイズのシーケンシャル ブロック内のデータを返します。

特定のセッション ID について、SessionCommand 値 ReturnLargeSet を使用し、SessionCommand 値 ReturnNextPreviewPage を使用する場合、結果は 10,000 レコードに制限されます。 すべての 50,000 レコードを使用できるようにするには、同じセッション ID に対してコマンドレットを実行するたびに ReturnLargeSet 値を常に使用します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-SiteIds

SiteIds パラメーターは、SharePoint SiteId (GUID) によってログ エントリをフィルター処理します。 複数の値をコンマで区切って入力できます: Value1, Value2,...ValueN

SharePoint サイトの SiteId を取得するには、指定するサイト コレクションの URL に /_api/site/id を追加します。 たとえば、URL https://contoso.sharepoint.com/sites/hr-projecthttps://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>

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象: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 時 (午前 0 時) です。

型:ExDateTime
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection

-UserIds

UserIds パラメーターは、アクションを実行したユーザーのアカウント (UserPrincipalName) によってログ エントリをフィルター処理します。 たとえば、「 laura@contoso.onmicrosoft.com 」のように入力します。

Update 値にスペースを含める、または引用符を必要とする場合は、次の構文を使用します: "Value1","Value2",..."ValueN"

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False
適用対象:Exchange Online, Exchange Online Protection