いくつかの Windows Server 2008 ボックスで実行されるアプリケーションを開発しています。アプリケーションは、ファイルの変更について共有ディレクトリを監視し、それらを私に報告します。私は現在 FileSystemWatcher クラスを使用していますが、これは生成されたイベントに関連付けられた Active Directory ユーザー名の取得をサポートしています。いくつかの解決策を調べましたが、どこから始めればよいかわかりません。これが私のオプションのいくつかです。
セキュリティ イベントのイベント ログを監視します。私は本当にこの解決策が好きではありません アクセスしたファイルのユーザー名を取得する
ファイル システム フィルター ドライバーを作成します。これにより、すべてのタイプのファイル操作をリアルタイムで検出できますが、関連するユーザー情報の取得については何も見ていません。これは最も有望な解決策のようです。
他の誰かがこれを行っているのを見たことがありませんが、「サーバー」サービスをフックして (これがネットワーク共有の相互作用に関与していると思います)、ファイル システム操作を引き出すことができると思いました。これは本当に避けたいです。
C#/C++ でのソリューションを歓迎します。