コマンドプロンプトでシステムイベントを自動的に記録する方法

コマンドプロンプトでシステムイベントを自動的に記録する方法

システムイベントの自動記録は、トラブルシューティングやシステム監視に役立つ重要なプロセスです。コマンドプロンプトを使用すると、特定のイベントを自動的に記録し、ログファイルとして保存することができます。この記事では、コマンドプロンプトでシステムイベントを記録するための方法を詳しく説明します。

環境

  • OS windows11

イベントログの取得

Windowsのイベントログを取得するためには、wevtutil コマンドを使用します。以下のコマンドで、システムログをファイルにエクスポートできます。

wevtutil epl System C:\logs\system_log.evtx

このコマンドは、System ログを C:\logs\system_log.evtx にエクスポートします。ログファイルの保存先と名前は、適宜変更してください。

特定のイベントログのフィルタリング

特定のイベントをフィルタリングして記録するには、findstr コマンドを使用します。例えば、Event ID 1000 を含むイベントをログから検索するには、以下のコマンドを使用します。

wevtutil qe System /q:"*[System[(EventID=1000)]]" /f:text > C:\logs\filtered_log.txt

このコマンドは、Event ID 1000 のイベントのみを含むログを C:\logs\filtered_log.txt に保存します。

定期的なログ収集のスケジュール

ログの収集を定期的に行うには、タスクスケジューラを使用します。コマンドプロンプトからタスクスケジューラに新しいタスクを追加するには、schtasks コマンドを使います。以下のコマンドは、毎日午前1時にログをエクスポートするタスクを作成します。

schtasks /create /tn "ExportSystemLog" /tr "wevtutil epl System C:\logs\system_log_%date:~-10,2%-%date:~-7,2%-%date:~-4,4%.evtx" /sc daily /st 01:00

ログファイルの圧縮

生成されたログファイルを圧縮して保存するには、compact コマンドを使用します。以下のコマンドは、C:\logs フォルダー内のすべてのログファイルを圧縮します。

compact /c C:\logs*.evtx

ログのバックアップと管理

ログファイルを定期的にバックアップし、管理することも重要です。バックアップを自動化するには、robocopy コマンドを使用してログファイルを別の場所にコピーします。

robocopy C:\logs D:\backup\logs /e

このコマンドは、C:\logs フォルダー内のすべてのファイルとサブフォルダーを D:\backup\logs にコピーします。

ログの確認と分析

ログファイルを確認するには、Event Viewer を使用するか、エクスポートしたログファイルをテキストエディタで開くことができます。コマンドラインツールで簡単に確認するには、type コマンドを使います。

type C:\logs\filtered_log.txt

このコマンドは、filtered_log.txt の内容をコマンドプロンプトに表示します。

まとめ

コマンドプロンプトを使用してシステムイベントを自動的に記録する方法について説明しました。これにより、システムの状態を把握し、トラブルシューティングや監視に役立てることができます。定期的なログ収集と適切な管理を行い、システムの健全性を維持しましょう。