Search-UnifiedAuditLog

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

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

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

構文

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 コマンドレットは、同じコマンドの繰り返しに基づいてデータのページを表示します。 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 は、組織の運用、セキュリティ、コンプライアンス監視ソリューションの開発に使用できる 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/2018 -EndDate 5/2/2018

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

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

例 2

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

次の使用例は、2018 年 6 月 1 日の午前 8 時から午後 6 時まで、すべての 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 日までの統合監査ログで、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 時) です。

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

[書式設定] スイッチを使用すると、通常は整数として返される属性 (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 (Details とも呼ばれます) プロパティに表示されます。

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: この値により、コマンドレットは並べ替えられていないデータを返します。 ページングを使用すると、最大 50,000 件の結果にアクセスできます。 これは、順序付けされた結果が不要で、検索待ち時間用に最適化されている場合に推奨される値です。
  • ReturnNextPreviewPage: この値により、コマンドレットは日付で並べ替えられたデータを返します。 ページングまたは 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 を指定します。 SessionId には、任意の文字列値を選択できます。

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

特定のセッション ID について、SessionCommand 値 ReturnLargeSet を使用し、SessionCommand 値 ReturnNextPreviewPage を使用する場合、結果は 10,000 レコードに制限されます。 すべての 50,000 レコードを使用できるようにするには、同じセッション 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 を取得するには、指定するサイト コレクションの URL を追加 /_api/site/id します。 たとえば、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 時 (午前 0 時) です。

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