我想通过SMB传输文件的简单日志。C#日志SMB文件访问
这适用于Windows 8或更高版本:
var scope = new ManagementScope(@"\\.\root\Microsoft\Windows\SMB");
var query = new WqlEventQuery(
@"SELECT *
FROM
__InstanceOperationEvent WITHIN 1
WHERE
TargetInstance ISA 'MSFT_SmbOpenFile'"
);
ManagementEventWatcher watcher = new ManagementEventWatcher(scope, query);
watcher.EventArrived += new EventArrivedEventHandler(HandleEvent);
watcher.Start();
....
But it does not work for windows 7 or lower. (Run-time requirements)
是否有类似的解决方案与Windows 7至少是兼容?
1º编辑
因为这个Windows 7的模块做这个任务看起来可能:
计算机管理(我看到在Windows 7上此信息)
2º编辑
澄清目的。我正在建造一个DLP application (Data Loss Prevention)。我需要监视和记录通过Windows共享(用户,文件名)访问的文件,并最终在用户请求文件时阻止此访问。
您可以查看NET系列命令 - “net files” - 给出[打开的文件列表](https://technet.microsoft.com/zh-cn/library/bb490702.aspx)。 'net session'给出[会话列表](https:// technet。microsoft.com/en-us/library/bb490711.aspx)。 – Subbu
伟大的Subbu,我现在正在查看文档,寻找基于事件的事件,所以我可以被通知而不是连续运行命令。 –