如何判断哪台计算机在网络共享上打开了文件?

Rob*_*obW 21 windows-server-2003 filesystems windows-xp network-share

环境:

Windows XP sp3、Windows 2003 服务器

问题:

我们有几十台 kiosk 机器,每台机器都具有相同的登录名,它们偶尔和简短地共享一个文件。速率是几次锁定并释放一分钟。

最近,我们遇到了一个客户端独占锁定文件,然后不释放文件的情况。 

发生这种情况时,我们可以关闭文件,但几分钟或更长时间过去了,这是不可接受的中断。

未发布的锁问题在上个月发生了几次。我一直在寻找负责锁定的自助服务终端设备,并在锁定发生时快速检测到它。

我们可以从服务器获得的信息似乎存在差距:

我们可以从各种工具中看到: -
打开和锁定了哪些文件。(多种方式) -
什么登录有一个特定的文件打开或锁定。(多种方式)
- 特定计算机通常打开一个文件。(共享文件夹、会话 mmc)

我们看不到的是特定计算机打开并锁定了特定文件。

有谁知道有什么方法可以做到这一点?

谢谢 -

tec*_*007 10

看看这个免费的小工具(ShareWatch),我认为它会做你正在寻找的东西。

列出的功能之一:“显示连接到每个共享的用户和计算机,以及打开的文件。”

替代文字


小智 7

输入命令行(CMD),

然后输入:openfiles /query ip of the networkshare

并且可能需要用户名和密码。

您可以在此处获取有关 openfiles 的更多信息。


小智 5

我相信您会想要参考 Sky100 的帖子,因为他是正确的,不是为您提供您所要求的内容,而是为您提供解决问题所需的内容。您需要通过“openfile /query /v”(详细)命令引用锁定的 ID 号,因为它将为您提供所需的数据。在给定的列表中搜索文件名,数据将显示启用了读写的项目,并提供特定的 ID 号。不,您可能无法找到锁定文件的特定系统,但使用提供的工具,您可以断开该用户与文件的连接。这是一个一步一步地简化我的杂乱无章的事情。

1) 在具有管理员权限的文件服务器上,执行 Start > Run > CMD [ENTER]

2) CD Desktop [ENTER](你很快就会明白为什么。)

3) openfiles /query /v > file.txt [ENTER](这将在桌面上创建一个文件,其中包含服务器上所有打开文件的列表。)

4) 打开 file.txt 并搜索包含您的文件名和读 + 写权限的行。

5) 记下该行上的 ID 号并返回到您的命令控制台。

6) openfiles /disconnect /ID [Put ID Number Here] [ENTER]

只要您在文件服务器上拥有管理权限,它就会断开该系统与文件的连接,并假设您的系统是自动化的,应该允许事情根据需要继续进行。

参考资料: openfiles /query /? 打开文件/断开连接/?

如果您需要适合您系统的脚本或编程应用程序,请随时发表评论,我将提供联系信息,以及非常低的价格和技术。支持我的申请。


Hel*_*ick 2

您正在尝试解决的问题是您所陈述的问题(即将特定客户端计算机(而非用户)映射到锁定文件)还是存在您需要解决的锁定问题?

如果后者有帮助,那么我会考虑两件事:

  • 检查客户端上安装的反病毒软件 - 我见过多个客户端反病毒软件导致共享上出现严重令人讨厌的异常锁定行为。

  • 尝试通过将 EnableOpLocks 注册表值设置为 0 来禁用机会锁定。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters EnableOplocks REG_DWORD 0 或 1 默认值:1(启用)

这会稍微降低性能,但不会破坏任何东西。

我很高兴看到有人真正回答你提出的问题 - 这是一个有趣的问题。