evtファイル(イベントログファイル)からCSVファイル(テキストファイル)への変換方法(DOS,LogParser使用)

他のパソコンのイベントログをEVTファイルでもらったが、イベントビューワでいちいちCSV(テキスト)に変換しなければならない。
LogParserを使用して、バッチファイルを作成して一気に変換。

・イベントログファイル(evtファイル)のCSVファイル(テキストファイル)への変換方法

Log Parserがあれば、他のパソコンのEVTログ(イベントログファイル)をCSVファイル(テキストファイル)に変換することができる。さらにDOSのバッチファイル(.batファイル)で作成すれば、一気に変換できる。

Log Parserをダウンロード、インストールする。
http://www.microsoft.com/japan/technet/scriptcenter/tools/logparser/default.mspx

Log Parserのヘルプを読んでも毎度のことながら分からないので、最初の使い方だけ見て後は試すのみ。

自分のパソコンのイベントログを取り込むことが書いてあるが、他のパソコンでEVT形式で取り込んでしまったイベントログをCSV形式に変換することができる。

[log1.bat]
logparser "select * from System.EVT" -i:evt -o:csv >syslog.csv
logparser "select * from Application.EVT" -i:evt -o:csv >applog.csv
pause

log1.batと同じフォルダにSystem.EVT(システムイベントファイル)、Application.EVT(アプリケーションイベントファイル)を入れておく。

log1.batを実行すると、System.EVT、Application.EVTを読んでくれて、SQLでselect *で全て選んでいるので、選んだ結果をsyslog.csvやapplog.csvに書き込んでくれる。

-i:evtで取り込む形式、-oで出力する形式を指定。他の形式もあるのでLog Parserのヘルプを読むべし。

全ての項目について出力してくれるが、いらない物があるのでSelect文で欲しい項目のみ出力するように設定。

csvファイルの1行目に題名があるので、欲しい項目のみselect文でコンマ指定する。

[log2.bat]
logparser "select TimeWritten,SourceName,EventTypeName,EventCategoryName,EventID,SID,ComputerName,Message from System.EVT" -i:evt -o:csv >syslog.csv
logparser "select TimeWritten,SourceName,EventTypeName,EventCategoryName,EventID,SID,ComputerName,Message from Application.EVT" -i:evt -o:csv >applog.csv

これで欲しいイベントログが抽出できる。




実践!ネットプログラミングTOP