Windowsバッチファイルで楽をする:イベントログのエクスポート

photo of female engineer working on her workspace Windows
Photo by ThisIsEngineering on Pexels.com
記事内に広告が含まれています。

wevtutilコマンドとは?

Windowsのイベントログを効率的に管理するためには、wevtutilコマンドラインツールが非常に役立ちます。

このツールは、イベントログのエクスポート、クエリ、アーカイブなど、多くの便利な機能を提供しています。

特に、イベントログをエクスポートする際には、wevtutilを使用して、特定の条件に基づいてログデータを抽出し、それを.evtx形式で保存することができます。

Wevtutilコマンドを使ったイベントログのエクスポート

イベントログのエクスポートは、システムの監視やトラブルシューティングにおいて重要な役割を果たします。

例えば、特定の期間に発生したイベントのみを抽出したり、特定のイベントIDに関連するログを集めたりすることが可能です。

これにより、システム管理者は必要な情報を迅速に取得し、問題の原因を特定しやすくなります。

wevtutilを使用する際の一般的なコマンドライン構文は以下の通りです:

wevtutil epl <ログ名> <出力ファイル名.evtx> /q:"<クエリ>"

ここで、`<ログ名>`はエクスポートしたいログの種類(例:Application, System, Security)、`<出力ファイル名.evtx>`はエクスポートしたログを保存するファイル名、`<クエリ>`は特定の条件を指定するためのXPathクエリです。

過去24時間のイベントログをエクスポート

例えば、特定の日付範囲内のアプリケーションログをエクスポートするには、以下のようなコマンドを使用します:

wevtutil epl Application C:\Logs\Application_logs.evtx /q:"*[System[TimeCreated[timediff(@SystemTime)<=86400000]]]"

このコマンドは、24時間前から現在までのアプリケーションログをC:\Logs\Application_logs.evtxにエクスポートします。
システムログ、セキュリティログも同様に可能です。

wevtutil epl System C:\Logs\System_logs.evtx /q:"*[System[TimeCreated[timediff(@SystemTime)<=86400000]]]"
wevtutil epl Security C:\Logs\Security_logs.evtx /q:"*[System[TimeCreated[timediff(@SystemTime)<=86400000]]]"

特定の期間のシステムログをエクスポート

例えば、特定の日付範囲内のシステムログをエクスポートするには、以下のようなコマンドを使用します:

wevtutil epl System C:\Logs\system_logs.evtx /q:"*[System[TimeCreated[@SystemTime>='2024-05-12T15:00:00.000Z'  and @SystemTime<='2024-05-13T15:00:00.999Z']]]"

このコマンドは、2024年5月13日00:00:00から14日00:00:00までのシステムログを`C:\Logs\system_logs.evtx`にエクスポートします。

日付と時刻はGMTで指定する必要があり、必要に応じてタイムゾーンを調整することが重要です。(日本時間では-09:00です)

汎用性をあげる(ほかのPCでも参照可能にする)

エクスポートしたままのevtxファイルでは他のPCにコピーして参照するときに内容が表示できないことがあります。
エクスポートしたevtxファイルにロケーション情報(日本語表示情報)を追加する必要があります。

wevtutil al C:\Logs\system_logs.evtx /locale:ja

クエリの作成のヒント

ここでクエリの書き方が難しいのでは?と思いますが、簡単にクエリを作成する方法があります。

一度イベントビューアを起動して、
任意のイベントを右クリック→「現在のログをフィルター」を選択します。
この画面で指定したいフィルターを設定します。

その後、XMLタブを開くと、クエリが参照できます。

<Select></Select>の中身(赤線の部分)がクエリ構文として使えます。

ただし、注意があります。

XML形式で記述されているので、エスケープ記述になっている箇所があります。
「&gt;」は「>」、「&lt;」は「<」を意味しています。

実際にwevtutilコマンドで使用する際は、

/q:”*[System[TimeCreated[@SystemTime>=’2024-05-12T15:00:00.000Z’  and @SystemTime<=’2024-05-13T15:00:00.999Z’]]]”

となります。

また、wevtutilはXPathクエリを使用して、より複雑なフィルタリングを行うこともできます。

例えば、特定のイベントIDを持つログのみを抽出する場合や、特定のログレベル(エラー、警告、情報など)にフィルタリングする場合などです。

イベントログをエクスポートする際の注意点は何ですか?

イベントログをエクスポートする際には、いくつかの重要な注意点があります。
これらのポイントを把握しておくことで、エクスポートプロセスをスムーズに行い、必要な情報を正確に取得することができます。

1. エクスポートするログの種類を正確に選択する:

   システム、アプリケーション、セキュリティなど、Windowsにはさまざまな種類のイベントログがあります。
エクスポートする際には、目的に合った正しいログを選択することが重要です。

2. 適切なフォーマットでエクスポートする:

   ログは通常、.evtx形式でエクスポートされますが、CSV形式でエクスポートすることも可能です。
使用するツールや分析の目的に応じて、最適なフォーマットを選択してください。

3. タイムゾーンの違いに注意する:

   イベントログは協定世界時(UTC)でタイムスタンプされるため、異なるタイムゾーンで作業している場合は、重要なイベントを見逃さないように注意が必要です。

4. エクスポートするデータの範囲を指定する:

   特定の期間やイベントIDに基づいてログをエクスポートする場合は、適切なクエリを使用して範囲を指定することができます。

5. セキュリティとプライバシーを考慮する:

   エクスポートされたログには、機密性の高い情報が含まれることがあります。
そのため、エクスポートしたログファイルは安全な場所に保存し、アクセス制御を適切に管理する必要があります。

6. エクスポート後のログの整理と分析:

   ログをエクスポートした後は、必要に応じて整理や分析を行い、問題のトラブルシューティングやシステムの監視に役立てます。
Excelなどのツールを使用して、ログデータを効果的に分析することができます。

7. エクスポートプロセスの自動化を検討する:

   イベントログのエクスポートプロセスを自動化し、効率的にログを管理することが可能です。

イベントログのエクスポートは、システムの健全性を維持し、セキュリティを強化するための重要なステップです。
上記の注意点を踏まえ、wevtutilやPowerShellなどのツールを適切に使用することで、システム管理者は効率的にログデータを管理し、必要な情報を迅速に取得することができます。
このプロセスは、Windows環境でのイベントログ管理において、欠かせない存在と言えるでしょう。

wevtutilの使用方法に関する詳細な情報は、Microsoftの公式ドキュメントや、実際の使用例を提供する技術ブログで確認することができます。
これらのリソースは、wevtutilの機能を最大限に活用するための貴重なガイドとなります。

イベントログのエクスポートは、システムの健全性を維持し、セキュリティを強化するための重要なステップです。W
evtutilを適切に使用することで、システム管理者は効率的にログデータを管理し、必要な情報を迅速に取得することができます。
このツールは、Windows環境でのイベントログ管理において、欠かせない存在と言えるでしょう。

コメント

タイトルとURLをコピーしました