0

私が使用しているPCにはUNCファイルがあります。私は他の人とのネットワークにいます。他のすべての人は、アドレス行\\fileをチップすることでファイルを開くことができます。

Win732ビットを使用するファイルを監視するac#プログラムをVs2010で作成したいことを知っています。誰かがファイルを開くと、プログラムは誰かが私のファイルを開いたことをログファイルに書き込みます。

FileSystemWatcherを使用しようとしましたが、これは変更/保存/作成のみを検索し、Openingは検索しません。

私は「監査」について何かを読み、これ(監査)でそれを行うことができます(私のuncファイルを監視します)。しかし、c#で監査を使用する方法を見つけようとしましたが、あまり見つかりませんでした。

だから私の質問:

「監査」でやりたいことはできますか?

誰かがc#の前に監査を行っていましたか、それともc#でどのように機能するかを示すためのリンクまたはsomtihngを持っていますか?

製造サム

悪い英語を祈る

4

1 に答える 1

1

Audit Object Accessを使用することをお勧めします。

従う必要がある手順は次のとおりです。

  1. ローカル コンピューター ポリシーオブジェクト アクセスの監査を有効にします。
  2. フォローするオブジェクトの監査を有効にします。
  3. アプリケーションから、EventLog.EntryWritten イベントを使用して、ファイルを開くイベントを検出します。

以下は単純な使用例ですが、必要に応じてキャプチャしてログに記録するには、ドキュメントを詳しく調べる必要があります。

class Program
{
    public static void Main()
    {

        EventLog myNewLog = new EventLog("Security", ".", "Microsoft Windows security");

        myNewLog.EntryWritten += new EntryWrittenEventHandler(MyOnEntryWritten);
        myNewLog.EnableRaisingEvents = true;

        Console.ReadLine();
    }

    public static async void MyOnEntryWritten(object source, EntryWrittenEventArgs e)
    {
        await Task.Factory.StartNew(() =>
        {
            if (e.Entry.InstanceId == 4656 || e.Entry.InstanceId == 4663)
            {
                Console.WriteLine(e.Entry.Message);
            }
        });
    }
}
于 2013-02-22T12:53:50.910 に答える