ファイルサーバのファイルアクセスログを取ろうと思いまして、監査ポリシーの[オブジェクトアクセスの監査]を有効にしてみたのは良いものの、ログが大量に記録されてしまうのでDISK容量も食うしバイナリのままだと読みにくいしで、最低限の情報だけCSVファイルにしてためられるようにスクリプトを作ってみました。
WMIでWin32_NTLogEventを参照しているだけなので、クエリの条件を変更すればいろいろなデータを最低限記録しておけると思います。
また、動作には[ローカルコンピュータポリシー]で監査設定を有効にしておく必要があります。
あとはデータベースにでも格納して、適度に検索機能でも付けておけば結構役に立つかなと思います。
実行はコマンドプロンプト上で行います。
セキュリティログを参照する場合には、コンピュータの管理者権限が必要になるので注意してください。
実行形式は以下のような形式になります。
BATファイル等にまとめてもらえれば、一度に複数のサーバのイベントを取得出来るので監査ログを取得したいサーバが複数あっても楽に取得が可能だと思います。
また、実行結果は以下のようなCSV形式のデータになります。
Win32_NTLogEvent関連のWEBサイトを参考にさせていただきました。
改めて感謝いたします。
とりあえず動作するだけ。という形式なので、利用する場合には適当に修正してご利用ください。
時間がある時にもう少しのバリエーション追加と、コードを読みやすくいたします。