2013-02-22 68 views
0

電腦我使用有一個UNC文件。我與其他人建立了聯繫。 每隔可以通過ADRESS線\\文件傾翻打開該文件。可以記錄unc連接嗎?

知道我想要寫在VS2010一個C#PROGRAMM該款腕錶在我使用的Win7 32位的文件。如果任何一個打開的文件的PROGRAMM應在日誌文件中,有人已經打開我的文件編寫。

我試圖用FileSystemWatcher的,但這隻能看更改/省/ cration而不是開幕。

我讀了一些關於「審計」的內容,並且我可以用這個(審計)來做到這一點(注意我的unc文件)。但是我試圖找出如何在c#中使用審計,但是我沒有發現許多。

所以我的問題:

是否有可能做我想做與「審覈」?

有人在c#中使用審計工作,或有任何人有鏈接或somtihng向我展示它如何在c#中工作嗎?

MFG山姆

Sry基因的英語不好

+0

這是你所需要的:[如何審計用戶在Windows XP中訪問文件,文件夾和打印機](http://support.microsoft.com/kb/310399)? – 2013-02-22 12:32:37

+0

[unc monitor with C#]可能重複(http://stackoverflow.com/questions/15019251/unc-monitor-with-c) – 2013-02-22 12:51:14

回答

1

您可能需要使用Audit Object Access。你有

的步驟如下:

  1. 啓用在本地計算機策略審覈對象訪問
  2. 選中要效仿的對象審覈。
  3. 從應用程序中使用EventLog.EntryWritten Event來檢測該文件開幕活動

下面是一個簡單的示例用法,但你必須在文檔中挖掘,以捕捉和記錄,因爲你需要:

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); 
      } 
     }); 
    } 
} 
+0

是的!謝謝 ! – Sam 2013-02-22 13:53:40