我想知道谁在锁定网络共享上的文件。
问题出在这里:网络共享位于NAS上,所以我无法登录。我需要一个工具来远程发现谁在锁定文件。每次重新启动NAS是不切实际的,因为有多个用户。
Handle.exe,Process Explorer和PsFile似乎仅限于本地计算机上的文件,因此它们对我不起作用。
我想知道谁在锁定网络共享上的文件。
问题出在这里:网络共享位于NAS上,所以我无法登录。我需要一个工具来远程发现谁在锁定文件。每次重新启动NAS是不切实际的,因为有多个用户。
Handle.exe,Process Explorer和PsFile似乎仅限于本地计算机上的文件,因此它们对我不起作用。
Answers:
万一有人为基于Windows的系统或NAS寻找解决方案,以防万一:
Windows中有一个内置功能,向您显示本地计算机上的哪些文件被远程计算机打开/锁定(通过文件共享打开文件):
您甚至可以在那里强制关闭文件。
在Windows 2008 R2服务器上,您可以通过两种方式查看打开了哪些文件并关闭了这些连接。
通过共享和存储管理
服务器管理器>角色>文件服务>共享和存储管理>右键单击SaSM>管理打开的文件
通过OpenFiles
CMD> Openfiles.exe / query / s服务器名称
请参阅http://technet.microsoft.com/zh-cn/library/bb490961.aspx。
PsFile确实可以在远程计算机上工作。如果我的登录帐户已经可以访问远程共享,则可以输入:
psfile \\remote-share
(将“远程共享”替换为文件服务器的名称),它将列出该共享上的每个打开的文档,以及打开该文档的人员,以及如果我要强制关闭文件的文件ID。对我来说,这是一个很长的列表,但是可以通过输入路径的一部分来缩小范围:
psfile \\remote-share I:\\Human_Resources
这有点棘手,因为在我的情况下,此远程共享在我的本地计算机上安装为Z :,但是psfile标识了在远程文件服务器上定义的路径,在我的情况下为I :(您会有所不同) 。我只需要梳理我的第一个psfile运行的结果,以查看它返回的某些路径,然后使用部分路径再次运行它以缩小结果范围。
(可选)如果需要提供访问权限,PsFile将允许您为远程共享指定凭据。
最后,一个鲜为人知的技巧:如果有人单击Windows资源管理器中的文件并剪切或复制该文件以将其粘贴到其他位置,则该行为也会对该文件施加锁定。
如果仅是在特定时间(如果您使用的是Windows)知道/查看文件中谁的情况,只需选择文件“视图”作为“详细信息”即可,而不是选择缩略图,图块或图标等。在“详细信息”视图中,默认情况下将显示您;-文件名-大小-类型和-修改日期
您现在需要做的就是右键单击该工具栏上的任何位置(文件名,大小,类型等...),您将获得该工具栏可以显示的其他选项的列表。
选择“所有者”,新列将显示使用该文件的人或最初创建该文件的人的用户名(如果没有其他人在使用该文件)。
当使用共享的MS Access数据库时,这尤其有用。
会话由NAS设备处理。您要问的是取决于NAS设备,与Windows无关。您将不得不查看您的NAS固件,以了解其支持的功能。唯一的其他方法是嗅探数据包并自己解决。
关闭文件e:\gestion\yourfile.dat
,由任何用户打开(/a *
)
openfiles /disconnect /a * /op "e:\gestion\yourfile.dat"
更多信息,请访问:http : //dosprompt.info/commands/openfiles.asp