可以记录unc连接吗?

我使用的Pc有一个UNC文件。 我和其他人在网络中。 其他所有人都可以通过添加地址行\\文件来打开文件。

知道我想在Vs2010中编写ac#programm来监视我使用Win7 32bit的文件。 如果有人打开文件,程序将在日志文件中写入某人已打开我的文件。

我试图使用FileSystemWatcher但这只是查找更改/保存/ cration但不是Open。

我读了一些关于“审计”的事情,并且我能够用这个(审计)来做那个(监视我的unc文件)。但是我试图找出如何在c#中使用审计,但我发现并不多。

所以我的问题:

是否可以通过“审核”做我想做的事情?

是否有人在c#befor中使用审计工作,或者有任何链接或somtihng向我展示它在c#中的工作原理?

山姆

惹坏英语

您可能希望使用审核对象访问 。

您必须遵循的步骤:

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