找出谁lockingnetworking共享上的文件

我想知道是谁lockingnetworking共享上的文件。

问题在于:networking共享位于NAS上,因此无法login。 我需要一个工具来远程查明谁locking了文件。 每次重启NAS都是不现实的,因为有几个用户。

Handle.exe ,Process Explorer和PsFile似乎只限于本地机器上的文件,所以它们不适用于我。

以防万一有人在为基于Windows的系统或NAS寻找解决scheme:

在Windows中有一个内置函数,显示本地计算机上的哪些文件被远程计算机(通过文件共享打开文件)打开/locking:

  • select“pipe理计算机”(打开“计算机pipe理”)
  • 点击“共享文件夹”
  • select“打开文件”

在那里,你甚至可以强制closures文件。

在Windows 2008 R2服务器上,您有两种查看打开和closures这些连接的文件的方法。

通过共享和存储pipe理

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

通过OpenFiles

CMD> Openfiles.exe / query / s SERVERNAME

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

PsFile在远程机器上工作。 如果我的login帐户已经可以访问远程共享,则可以input:

psfile \\remote-share 

(将“remote-share”replace为文件服务器的名称),它将列出该共享上的每个打开的文档以及打开的文档,以及如果我想强制closures文件,则列出文件ID。 对我来说,这是一个很长的名单,但是可以通过input一部分path来缩小范围:

 psfile \\remote-share I:\\Human_Resources 

这有点棘手,因为在我的情况下,这个远程共享被安装为Z:在我的本地机器上,但是psfile在远程文件服务器上定义了path,在我的情况下是I:(你的将会不同) 。 我只是梳理了我的第一个psfile运行的结果,看到它返回的一些path,然后再运行一个部分path来缩小结果。

或者,PsFile将允许您指定远程共享的凭据,如果您需要提供访问权限。

最后,一个小小的提示:如果有人在Windows资源pipe理器中单击某个文件并剪切或复制该文件以将其粘贴到其他位置,则该操作还会对该文件进行locking。

如果仅仅是在某个特定时间知道/看到谁在文件中的情况(并且如果您使用的是Windows),只需将文件“视图”select为“详细信息”,而不是缩略图,图块或图标等。在“详情”视图中,默认情况下会显示; – 文件名 – 大小 – types和 – 修改date

所有你现在需要做的是右键单击任何地方沿着所述工具栏(文件名,大小,types等),你会得到一个工具栏可以显示其他选项列表。

select“所有者”,新列将显示使用该文件的人员的用户名,或者如果没有其他人正在使用该文件创build者的用户名。

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

部分回答:使用Process Explorer,您可以查看从您的计算机打开的networking共享上的句柄。

使用菜单“查找句柄”,然后你可以input一个这样的path

 \Device\LanmanRedirector\server\share\ 

会话由NAS设备处理。 你所要求的是依赖NAS设备,而与Windows无关。 你将不得不看看你的NAS固件,看看它的支持。 唯一的方法就是嗅探数据包并自己解决。

听起来像你有同样的问题,我试图在这里解决。 在我的情况下,它是一个Linux文件服务器(当然,运行samba),所以我可以login,看看什么进程locking文件; 不幸的是,我没有find如何closures它,而没有杀死负责任的会议。 AFAICT,Windows客户端认为它已closures; 但没有打扰告诉文件服务器。