Get-WinEvent
type: Concept
definition: イベントログをフィルターして取得するPowerShellコマンドレット。FilterHashtableでの絞り込みに対応し、NTLM監査ログなど大量のイベントの集計に使う。
succeeds: Get-EventLog
uses: FilterHashtable
uses: FilterXPath
uses: ToXml()のイベントデータ(EventData)

FilterHashtable
type: Concept
definition: Get-WinEventでログ名・ID・レベル・期間などをキーと値のハッシュテーブルで指定し、イベントログのAPI側で絞り込みを行わせるパラメーター。
alternative label: -FilterHashtable
alternative label: FilterHashtableパラメーター
prevents: 後段フィルタによる調査の遅延

Get-EventLog
type: Concept
definition: Windows PowerShell 5.1専用で、System・Application・Securityなどクラシックログだけを読み取れる旧世代のイベントログ取得コマンドレット。
alternative label: Get-EventLogコマンドレット
not recommended for: TaskScheduler/Operationalログ

Where-Object
type: Concept
definition: パイプラインを流れるオブジェクトを条件式で絞り込むコマンドレット。
may cause: 後段フィルタによる調査の遅延

後段フィルタによる調査の遅延
type: Concept
definition: Get-WinEventの出力全件をパイプへ流してからWhere-Objectなどで絞り込むことで、絞り込みがイベントログ側ではなくPowerShell側で行われ、調査にかかる時間が大きく悪化すること。
alternative label: クライアント側フィルタの遅延

FilterXPath
type: Concept
definition: Get-WinEventでXPath式を指定し、共通項目だけでなくイベントデータ固有の項目でもサーバー側で絞り込みを行わせるパラメーター。
alternative label: -FilterXPath
alternative label: FilterXPathパラメーター
prevents: 後段フィルタによる調査の遅延
recommended for: TaskScheduler/Operationalログ

TaskScheduler/Operationalログ
type: Concept
definition: タスクスケジューラの実行履歴が記録される、アプリケーションとサービスログ配下の詳細ログ。既定で無効になっている場合がある。
alternative label: Microsoft-Windows-TaskScheduler/Operational

ToXml()のイベントデータ(EventData)
type: Concept
definition: 各イベントのToXml()メソッドで取得できるXML表現のうち、EventData配下にある名前付きの項目。表示用メッセージと異なりOSの表示言語に依存せず値を取り出せる。
alternative label: ToXml() EventData
mitigates: 表示言語に依存するメッセージ表示

表示言語に依存するメッセージ表示
type: Concept
definition: MessageプロパティやLevelDisplayNameなど、イベントログの表示用文字列がOSの表示言語によって変わること。
alternative label: Messageの言語依存
alternative label: LevelDisplayNameの言語依存

セキュリティログ(Securityログ)
type: Concept
definition: ログオン成功・失敗など認証関連の監査イベントが記録されるWindowsのイベントログ。読み取りには既定で管理者権限相当が必要。
alternative label: Securityログ
configured by: wevtutil

管理者権限
type: Concept
definition: コンピューター全体の設定を変更できる権限。
alternative label: 昇格

Event Log Readersグループ
type: Concept
definition: 管理者権限を与えずにローカルコンピューターのイベントログを読み取れるようにする、Windowsのビルトインセキュリティグループ(SID S-1-5-32-573)。
alternative label: Event Log Readers
alternative label: S-1-5-32-573
recommended for: セキュリティログ(Securityログ)

wevtutil
type: Concept
definition: イベントログの一覧・エクスポート、チャネルのアクセス許可(SDDL)の確認や変更、最大サイズの変更などを行うコマンドラインツール。
alternative label: wevtutil.exe

Invoke-Command
type: Concept
definition: 指定した複数のコンピューターに対してスクリプトブロックを並列に実行するPowerShellコマンドレット。WinRMによるリモート処理を前提とする。
alternative label: Invoke-Commandコマンドレット

複数台のイベントログ収集
type: Concept
definition: 複数のWindowsコンピューターのイベントログをまとめて調べる、または収集サーバーへ集約する作業。
alternative label: 複数台からのログ収集

Windowsイベント転送(WEF)
type: Concept
definition: 追加のエージェント導入なしに、複数のWindowsコンピューターのイベントを1台の収集サーバーへ転送するWindows標準の機能。
alternative label: Windows Event Forwarding
alternative label: WEF
recommended for: 複数台のイベントログ収集

イベントログの保持期間(ログサイズ)
type: Concept
definition: イベントログが上書きされずに保持される期間。既定の最大サイズは小さく、イベント数が多い環境では数日で一巡することがある。
alternative label: ログの最大サイズ
alternative label: ログのロールオーバー
configured by: wevtutil

subject: Get-WinEvent
predicate: succeeds
object: Get-EventLog
description: Get-WinEventはクラシックログに加えアプリケーションとサービスログも読めるためGet-EventLogの後継として使われ、PowerShell 7ではGet-EventLog自体が利用できない。
evidence: get-winevent
verified at: 2026-08-01
certainty: established

subject: Where-Object
predicate: mayCause
object: 後段フィルタによる調査の遅延
description: Get-WinEventの出力をパイプ後段でWhere-Objectで絞ると、全イベントをオブジェクト化してから捨てることになり調査が遅くなり得る。
evidence: creating-get-winevent-queries-with-filterhashtable
verified at: 2026-08-01
certainty: established

subject: FilterHashtable
predicate: prevents
object: 後段フィルタによる調査の遅延
description: FilterHashtableを使うとイベントログのAPI側で絞り込みが行われるため、後段フィルタによる遅延を避けられる。
evidence: creating-get-winevent-queries-with-filterhashtable
verified at: 2026-08-01
certainty: established

subject: FilterXPath
predicate: prevents
object: 後段フィルタによる調査の遅延
description: FilterXPathも同様にサーバー側で絞り込むため、複雑な条件でも後段フィルタによる遅延を避けられる。
evidence: get-winevent
verified at: 2026-08-01
certainty: established

subject: Get-WinEvent
predicate: uses
object: FilterHashtable
description: Get-WinEventはLogName・ID・Level・StartTimeなど決まったキーを持つFilterHashtableパラメーターで絞り込みを指定できる。
evidence: creating-get-winevent-queries-with-filterhashtable
verified at: 2026-08-01
certainty: established

subject: Get-WinEvent
predicate: uses
object: FilterXPath
description: Get-WinEventはイベントデータの中身も含めて絞り込めるFilterXPathパラメーターを持つ。
evidence: get-winevent
verified at: 2026-08-01
certainty: established

subject: FilterXPath
predicate: recommendedFor
object: TaskScheduler/Operationalログ
description: タスク名などイベントデータ固有の項目で絞り込みたいTaskScheduler/Operationalログの調査では、記事はFilterXPathの利用を推奨している。
evidence: get-winevent
verified at: 2026-08-01
certainty: established

subject: Get-WinEvent
predicate: uses
object: ToXml()のイベントデータ(EventData)
description: Get-WinEventが返す各イベントはToXml()メソッドでXML化でき、EventData配下の名前付き項目を取り出せる。
evidence: get-winevent
verified at: 2026-08-01
certainty: established

subject: ToXml()のイベントデータ(EventData)
predicate: mitigates
object: 表示言語に依存するメッセージ表示
description: ToXml()のEventDataを使えば、Messageの正規表現切り出しのように表示言語で結果が変わる問題を避けられる。
evidence: defining-severity-levels
verified at: 2026-08-01
certainty: established

subject: セキュリティログ(Securityログ)
predicate: requires
object: 管理者権限
description: セキュリティログの読み取りは既定の構成では管理者権限相当が必要になる(Event Log Readersグループへの追加やチャネルACLの変更で、管理者権限なしでも読み取りだけを許可できる)。
evidence: event-4624
verified at: 2026-08-01
certainty: context-dependent

subject: Event Log Readersグループ
predicate: recommendedFor
object: セキュリティログ(Securityログ)
description: 調査担当者に管理者権限を渡さずセキュリティログを読ませたい場合、記事はEvent Log Readersグループへの追加を推奨している。
evidence: understand-security-groups
verified at: 2026-08-01
certainty: established

subject: Get-WinEvent
predicate: uses
object: セキュリティログ(Securityログ)
description: ログオン・ログオフの追跡など認証関連の調査では、Get-WinEventはセキュリティログ(Security)を対象に指定できる。
evidence: event-4624
verified at: 2026-08-01
certainty: context-dependent

subject: セキュリティログ(Securityログ)
predicate: configuredBy
object: wevtutil
description: セキュリティログなど個別チャネルの読み取り許可(SDDL)はwevtutil gl/slで確認・変更できる。
evidence: wevtutil
verified at: 2026-08-01
certainty: established

subject: Invoke-Command
predicate: recommendedFor
object: 複数台のイベントログ収集
description: 台数が多い単発調査では、複数コンピューターに並列実行できるInvoke-Commandが推奨される。
evidence: invoke-command
verified at: 2026-08-01
certainty: context-dependent

subject: Windowsイベント転送(WEF)
predicate: recommendedFor
object: 複数台のイベントログ収集
description: 恒常的にログを集約したい場合は、追加エージェント不要のWindowsイベント転送(WEF)が推奨される。
evidence: use-windows-event-forwarding-to-assist-in-intrusion-detection
verified at: 2026-08-01
certainty: established

subject: 複数台のイベントログ収集
predicate: requires
object: Get-WinEvent
description: -ComputerNameでの直接取得・Invoke-Commandでの並列実行・.evtx採取後の解析のいずれでも、各コンピューター上でイベントを取得する部分は結局Get-WinEventが担う(Windowsイベント転送(WEF)はこの限りではなく、転送はサブスクリプションの仕組みで行われる)。
evidence: get-winevent
verified at: 2026-08-01
certainty: context-dependent

subject: Get-WinEvent
predicate: uses
object: TaskScheduler/Operationalログ
description: タスクスケジューラの実行履歴を調べる場合、それはMicrosoft-Windows-TaskScheduler/OperationalログとしてGet-WinEventでのみ読める。
evidence: get-winevent
verified at: 2026-08-01
certainty: context-dependent

subject: Get-EventLog
predicate: notRecommendedFor
object: TaskScheduler/Operationalログ
description: Get-EventLogはクラシックログしか扱えないため、TaskScheduler/Operationalのようなアプリケーションとサービスログには使えない。
evidence: get-winevent
verified at: 2026-08-01
certainty: established

subject: Get-WinEvent
predicate: requires
object: イベントログの保持期間(ログサイズ)
description: 調べたい時間帯のイベントがログ上書きで既に失われていればGet-WinEventでも取得できず、十分なログ保持期間が前提となる。
evidence: wevtutil
verified at: 2026-08-01
certainty: context-dependent

subject: イベントログの保持期間(ログサイズ)
predicate: configuredBy
object: wevtutil
description: ログの最大サイズはwevtutil sl /msで変更できる。
evidence: wevtutil
verified at: 2026-08-01
certainty: established