ask*_*tor 2 logging network-share vbscript
我正在尝试从我的 Windows 机器网络中记录某些信息;我已将它们设置为定期收集此信息,然后我希望将其保存在网络驱动器上的单个 CSV 文件中。我正在使用 VBS 来收集这些数据,在追加模式下使用 OpenTextFile 进行写入。这是否允许多台计算机同时向该文件附加一行?或者还有另一种方法可以做到这一点(除了为每个设备存储一个单独的文件)。
我不在乎订单(我从每个设备收集时间戳)。
Windows 能够通过诸如字节范围锁之类的机制共享对文件的并发访问,从而进程只锁定文件的某个区域等。但是必须适当地编写应用程序才能利用这一点。完全有可能以锁定整个文件的方式编写应用程序,而不仅仅是其中的一个区域。你甚至可以锁定一个文件,这样另一个进程甚至无法读取它。
但是,当您谈论访问网络文件共享上的文件时,事情会变得复杂。现在我们正在通过 SMB 网络协议访问文件。
SMB 使用oplocks(机会锁)和租约来管理对文件的并发访问。oplocks和lease的类型如下:
锁
租赁
Windows Internals 第 6 版,Mark Russinovich 等。
这些模式都不会为您提供您寻求的共享写访问权限。
改变你的策略。正如 MDMarra 所说,Windows 事件日志是更好的选择。另一个想法是让所有客户端在文件共享中写入自己的文件,然后让服务器进程收集所有文件并聚合它们。您在问题中提到您正在编写代码,因此您可以更改此应用程序的工作方式。我建议去 StackOverflow 并询问他们关于通过网络对单个文件进行共享写访问的最佳方法。
| 归档时间: |
|
| 查看次数: |
10042 次 |
| 最近记录: |