只是想知道是否可以找出谁从 Windows 共享中读取了文件(理想情况下使用 .NET,但 win32 本机也可以)?
我想做的是创建类似的东西awstats http://awstats.sourceforge.net/Windows 共享,这样我就可以看到谁正在访问什么文件以及哪些是最流行的文件。
我对更改不感兴趣 - 我只想记录访问(随时间)以及 ip / 主机名和文件。
这可以使用 WMI...下面的示例 C# 代码片段用于识别当前谁正在访问共享
using System.Management;
ManagementObjectSearcher search =
new ManagementObjectSearcher("root\\CIMV2","SELECT * FROM Win32_ConnectionShare");
foreach (ManagementObject MO in search.Get())
{
string antecedent = MO["antecedent"].ToString();
ManagementObject share = new ManagementObject(antecedent);
string dependent = MO["dependent"].ToString();
ManagementObject server = new ManagementObject(dependent);
string userName = server["UserName"].ToString();
string compname = server["ComputerName"].ToString();
string sharename = server["ShareName"].ToString();
}
不确定 WMI 的核心文件事件监听器。但您可以很好地将其集成到 NoramlFileSystemWatcher 中。如果检测到网络路径发生变化,则触发上述代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)