Search-AdminAuditLog
このコマンドレットは、オンプレミスの Exchange およびクラウド ベースのサービスで使用できます。 一部のパラメーターおよび設定は、いずれかの環境専用となっている場合があります。
Search-AdminAuditLog コマンドレットを使用して、管理者監査ログの内容を検索します。 ユーザーまたは管理者が (Exchange 管理センターまたはコマンドレットを使用して) organizationを変更すると、管理者監査ログ記録が記録されます。
以下の構文セクションのパラメーター セットの詳細については、「Exchangeのコマンドレット構文」を参照してください。
構文
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 コマンドレットを実行すると、既定では最大 1,000 のログ エントリが返されます。
PowerShell Exchange Onlineでは、StartDate パラメーターまたは EndDate パラメーターを使用しない場合は、過去 14 日間の結果のみが返されます。
PowerShell Exchange Onlineでは、過去 90 日間のデータを使用できます。 90 日より前の日付を入力できますが、過去 90 日間のデータのみが返されます。
監査ログの構造とプロパティの詳細については、「管理者監査ログの 構造」を参照してください。
このコマンドレットを実行する際には、あらかじめアクセス許可を割り当てる必要があります。 このトピックにはこのコマンドレットのすべてのパラメーターが一覧表示されていますが、自分に割り当てられているアクセス許可に含まれていない一部のパラメーターにはアクセスできません。 コマンドレットを組織内で実行するために必要になるアクセス許可とパラメーターを調べるには、「 Find the permissions required to run any Exchange cmdlet」を参照してください。
例
例 1
Search-AdminAuditLog -Cmdlets New-RoleGroup,New-ManagementRoleAssignment
この例では、New-RoleGroup コマンドレットまたは New-ManagementRoleAssignment コマンドレットのいずれかを含むすべての管理者監査ログ エントリを検索します。
例 2
Search-AdminAuditLog -Cmdlets Set-Mailbox -Parameters UseDatabaseQuotaDefaults,ProhibitSendReceiveQuota,ProhibitSendQuota -StartDate 01/24/2018 -EndDate 02/12/2018 -IsSuccess $true
この例では、以下の条件を満たすすべての管理者監査ログ エントリを検索します。
- コマンドレット: Set-Mailbox
- パラメーター: UseDatabaseQuotaDefaults、ProhibitSendReceiveQuota、ProhibitSendQuota
- 開始日: 2018 年 1 月 24 日
- 終了日: 2018 年 2 月 12 日
コマンドが正常に完了している
例 3
$LogEntries = Search-AdminAuditLog -Cmdlets Write-AdminAuditLog
$LogEntries | ForEach { $_.CmdletParameters }
この例では、Write-AdminAuditLog コマンドレットによって管理者監査ログに書き込まれたすべてのコメントを表示します。
まず、監査ログ エントリを一時変数に格納します。 次に、返されたすべての監査ログ エントリを反復処理し、Parameters プロパティを表示します。
例 4
Search-AdminAuditLog -ExternalAccess $true -StartDate 09/17/2018 -EndDate 10/02/2018
この例では、2018 年 9 月 17 日から 2018 年 10 月 2 日の間に Microsoft データセンター管理者が実行するコマンドレットのExchange Online organizationの管理者監査ログにエントリを返します。
パラメーター
-Cmdlets
コマンドレット パラメーターは、使用されたコマンドレットによって結果をフィルター処理します。 複数のコマンドレットをコンマで区切って指定できます。
このコマンドレットの結果では、このプロパティの名前は 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 パラメーターは、このコマンドレットで Active Directory からのデータの読み取りまたは 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」を参照してください。
このコマンドレットの結果では、変更が行われた日時 (コマンドレットが実行されました) が RunDate という名前のプロパティで返されます。
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 パラメーターは、organizationの外部のユーザーによって行われた変更 (実行されたコマンドレット) によって結果をフィルター処理します。 有効な値は次のとおりです。
- $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: 変更が成功した監査ログ エントリのみを返します (つまり、コマンドレットは正常に実行されました)。
- $false: 変更が成功しなかった監査ログ エントリのみを返します (つまり、コマンドレットが正常に実行されず、エラーが発生しました)。
このコマンドレットの結果では、このプロパティの名前は 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 パラメーターは、変更されたオブジェクト (メールボックス、パブリック フォルダー、送信コネクタ、トランスポート ルール、承認済みドメインなど) によって結果をフィルター処理します。 有効な値は、監査ログでのオブジェクトの表現方法によって異なります。 例:
- 名前
- 正規の識別名 (例: contoso.com/Users/Akia Al-Zuhairi)
- パブリック フォルダー ID (\Engineering\Customer Discussion など)
このコマンドレットで他のフィルター処理パラメーターを使用して結果を絞り込み、関心のあるオブジェクトの種類を特定する必要がある場合があります。 このコマンドレットの結果では、このプロパティの名前は 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 パラメーターは、使用されたパラメーターによって結果をフィルター処理します。 このパラメーターは、コマンドレット パラメーターでのみ使用できます (単独では使用できません)。 複数のパラメーターをコンマで区切って指定できます。
このコマンドレットの結果では、このプロパティの名前は 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 パラメーターは、返される結果の最大数を指定します。 既定値は 1,000 です。
返される最大結果は 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」を参照してください。
このコマンドレットの結果では、変更が行われた日時 (コマンドレットが実行されました) が RunDate という名前のプロパティで返されます。
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 パラメーターは、変更を行ったユーザー (コマンドレットを実行したユーザー) によって結果をフィルター処理します。
このパラメーターの一般的な値は、ユーザー プリンシパル名 (UPN など helpdesk@contoso.com) です。 ただし、メール アドレスのないシステム アカウントによって行われた更新では、Domain\Username 構文 (NT AUTHORITY\SYSTEM (MSExchangeHMHost など) が使用される場合があります。
Update 値にスペースが含まれている場合、または引用符が必要な場合は、次の構文を使用します。 "User1","User2",..."UserN"
このコマンドレットの結果では、このプロパティの名前は 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
このコマンドレットに使用できる入力の種類を確認するには、「コマンドレットの入力および出力の種類」をご覧ください。 コマンドレットで入力の種類のフィールドが空白の場合、そのコマンドレットには入力データを指定できません。
出力
Output types
このコマンドレットに使用できる戻り値の型 (出力の種類) を確認するには、「コマンドレットの入力および出力の種類」をご覧ください。 出力の種類のフィールドが空白の場合、コマンドレットはデータを返しません。