可以记录unc连接吗?

时间:2013-02-22 12:25:32

标签: c# unc auditing

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

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

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

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

所以我的问题:

是否有可能通过“审核”来做我想要的事情?

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

mfg Sam

Sry for bad english

1 个答案:

答案 0 :(得分:1)

您可能想要使用Audit Object Access

您必须遵循的步骤:

  1. 本地计算机政策 中启用 审核对象访问
  2. 启用您要关注的对象的审核。
  3. 从您的应用程序中,使用EventLog.EntryWritten Event检测文件打开事件
  4. 以下是一个简单的示例用法,但您必须深入了解文档,以便根据需要进行捕获和记录:

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