セキュリティログを監視し、ファイルシステムへのアクセスをモニタする
Windows では .NET Framework の FileSystemWatcher クラス を使うとファイルシステムの変更をモニタすることが出来ます。しかし、FileSystemWatcher クラスでは「ファイルやフォルダを操作したユーザが分からない」という、大きな欠点があるようです。
そこで、代替手段として Windows のセキュリティ監査の新機能 などに記載のある「オブジェクトアクセスの監査」機能を使い、記録されたセキュリティログをモニタし、ファイルシステムへの操作を監視することが出来ます(この方法であれば、ファイルやフォルダを操作したユーザを取得することが可能です。スマートとは言えませんが...)。イベントログは EventLog クラス の EventWritten イベント によってモニタすることが出来ます。ただし、Vista / 2003 以前と Windows 7 / 2008 ではオブジェクトアクセス時に発生するイベントの ID が以下のように異なるようで、やや注意が必要です。


