找出谁在网络共享上锁定文件

olo*_*rin 133 windows locking

我想知道谁在网络共享上锁定文件.

问题出在这里:网络共享位于NAS上,因此我无法登录.我需要一个工具来远程查找锁定文件的人.每次重启NAS都是不切实际的,因为有几个用户.

Handle.exe,Process Explorer和PsFile似乎仅限于本地计算机上的文件,因此它们不适用于我.

Dir*_*ler 167

以防有人为基于Windows的系统或NAS寻找解决方案:

Windows中有一个内置函数,可以显示本地计算机上的哪些文件是由远程计算机打开/锁定的(通过文件共享打开文件):

  • 选择"管理计算机"(打开"计算机管理")
  • 点击"共享文件夹"
  • 选择"打开文件"

在那里你甚至可以强行关闭文件.

  • 在Windows 2008 R2上,转至服务器管理器>角色>文件服务>共享和存储管理>右键单击SaSM>管理打开文件. (20认同)
  • 你甚至可以使用Action - >连接到另一台计算机到NAS上的文件,甚至可以使用我们基于linux的NAT!我为什么不先试试呢? (10认同)
  • 对于域共享,此操作无效。该措辞似乎暗示文件位于您的网络共享上。 (2认同)

Jas*_*rce 54

在Windows 2008 R2服务器上,您有两种方法可以查看打开的文件和关闭这些连接.

通过共享和存储管理

服务器管理器>角色>文件服务>共享和存储管理>右键单击SaSM>管理打开文件

通过OpenFiles

CMD> Openfiles.exe/query/s SERVERNAME

请参阅http://technet.microsoft.com/en-us/library/bb490961.aspx.

  • 很好的答案.我不知道Openfiles; 它比使用psexec或类似的远程工具要好得多. (2认同)

Bao*_*dad 22

PsFile可以在远程计算机上运行.如果我的登录帐户已经可以访问远程共享,我只需输入:

psfile \\remote-share
Run Code Online (Sandbox Code Playgroud)

(将"remote-share"替换为文件服务器的名称),它将列出该共享上的每个打开的文档,以及打开它的人,以及文件ID,如果我想强制关闭文件.对我来说,这是一个非常长的列表,但可以通过输入路径的一部分来缩小范围:

psfile \\remote-share I:\\Human_Resources
Run Code Online (Sandbox Code Playgroud)

这有点棘手,因为在我的情况下,这个远程共享在我的本地机器上安装为Z:但是psfile识别在远程文件服务器上定义的路径,在我的情况下是我:(你的不同) .我只需要梳理我的第一个psfile运行结果,看看它返回的一些路径,然后再用部分路径再次运行它来缩小结果范围.

(可选)如果需要提供远程共享以进行访问,PsFile将允许您指定远程共享的凭据.

最后,一个鲜为人知的提示:如果有人点击Windows资源管理器中的文件并剪切或复制文件,意图将其粘贴到其他位置,那么该操作也会锁定文件.

  • 哇,最后一个小小提示+1.;)我试图重命名一个网络文件夹,显然还有一些复制"继续",我以前在另一台机器上做过...而选择一个文件复制到该文件夹​​之外就是为我做的伎俩. (3认同)

小智 12

如果它只是在任何特定时间知道/看到谁在文件中的情况(如果你正在使用窗口),只需选择文件'view'作为'details',即不是缩略图,图块或图标等.在"详细信息"视图中,默认情况下会显示; - 文件名 - 大小 - 类型,和 - 修改日期

您现在需要做的就是右键单击所述工具栏上的任意位置(文件名,大小,类型等...),您将看到工具栏可以显示的其他选项列表.

选择"所有者",新列将显示使用该文件的人员的用户名,或者如果没有其他人使用该文件,则会显示最初创建该人员的用户名.

这在使用共享MS Access数据库时特别有用.

  • 这真的只适用于他们所在的程序创建一个锁文件(如MS Access),该文件将由使用它的人而不是文件的原始创建者所拥有. (5认同)
  • 在我的情况下没有工作.我添加了列,我将自己视为远程资源中共享文件的创建者,但已经被同事锁定了. (4认同)

小智 5

会话由NAS设备处理。您要问的是取决于NAS设备,与Windows无关。您必须查看一下NAS固件,以了解其支持的功能。唯一的其他方法是嗅探数据包并自己解决。


olo*_*rin 5

部分答案:使用Process Explorer,您可以查看从计算机打开的网络共享上的句柄.

使用"查找句柄"菜单,然后您可以键入这样的路径

\Device\LanmanRedirector\server\share\
Run Code Online (Sandbox Code Playgroud)