Windowsイベントログ解析:PowerShellで特定のイベントIDを監視する方法

Windowsイベントログは、Windowsオペレーティングシステムがシステムエラーやセキュリティ警告などの情報を保存する重要なコンポーネントです。特定のイベントIDの発生を確認することで、システムの問題を早期に発見し、対処することができます。この記事では、PowerShellを使用してローカルのWindowsイベントログから特定のイヵントIDを検索する方法を初心者向けに解説します。

目次

前提知識と必要な環境

  • Windows 10またはWindows Server環境
  • PowerShellの基本的な知識(コマンドの実行方法など)
  • 管理者権限(イベントログにアクセスするため)

基本的なPowerShellコマンド

PowerShellには、イベントログを操作するための多くのコマンドが用意されています。その中でも特に基本となるのがGet-EventLogです。

Get-EventLogコマンド

このコマンドは、イベントログからイベントを取得するためのコマンドです。

# セキュリティログから最新の10件を取得する
Get-EventLog -LogName Security -Newest 10

特定のイベントIDを検索するスクリプト

次に、特定のイベントIDを検索する簡単なスクリプトを紹介します。

# セキュリティログから特定のイベントID(ここでは4624)を検索する
$EventID = 4624
Get-EventLog -LogName Security | Where-Object {$_.EventID -eq $EventID}

スクリプトの解説

  1. $EventID = 4624 で検索対象となるイベントIDを指定します。
  2. Get-EventLog -LogName Security でセキュリティログを全件取得します。
  3. Where-Object {$_.EventID -eq $EventID} で指定したイベントIDのものだけをフィルタリングします。

補足:イベントIDとは

イベントIDは、特定のイベントが発生した際にそれを識別するための数字です。例えば、4624は「アカウントが正常にログオンした」というイベントを示しています。

応用例:特定期間のログを検索する

特定期間のログだけを検索する場合、以下のようにします。

# 過去一週間のログから特定のイベントIDを検索する
$EventID = 4624
$PastDate = (Get-Date).AddDays(-7)
Get-EventLog -LogName Security | Where-Object {$_.EventID -eq $EventID -and $_.TimeGenerated -ge $PastDate}

まとめ

この記事では、PowerShellを用いてWindowsイベントログから特定のイベントIDを検索する方法を解説しました。初心者でも簡単に取り組める内容であり、特定の問題が発生した際の診断や監視に非常に役立ちます。

コメント

コメントする

目次