我注意到我的文件服务器上有一些奇怪的事情。我去移动一些文件夹,并使用计算机管理中的“打开文件”实用程序来确保我打算使用的文件夹中没有打开的文件。我注意到一个用户打开了一些他没有理由打开的文件(同一个文件夹中可能有 20 个文件)
长话短说,我尝试打开其中一个文件(.xls),但需要恢复,因为它已损坏,并且已被一位近 2 年没有在这里工作的用户锁定(他们的帐户已被删除)。
打开了这些文件的用户已从其工作站建立了会话,并且这是该用户名的唯一会话。我使用他们的凭据登录了他们的计算机,他们没有打开任何这些文件,最近的文档显示他们没有打开任何这些文档。我运行了病毒扫描,结果很干净,看起来他们没有打开任何恶意后门。我重新启动了他们的计算机,这些文件在文件服务器上不再处于“打开”状态。
我知道 Server 2000 已经过时了(我们今年会更换它),但这是一个已知问题吗?Server 2000 是否错误地指出了哪些文件处于打开状态?有人能想到另一个会导致类似情况发生的例子吗?
答案1
Win2003 中也存在同样的问题。除非收到来自客户端的关闭连接的响应,否则文件将被视为打开。我曾经遇到的唯一解决方案是手动断开会话或重新启动服务器。
我不确定这是否仍然是 Windows 2008 的一个问题。
答案2
至于 Windows 认为文件正在使用中,可能是某些后台进程打开了这些文件。例如,如果 Windows Search 尝试索引这些文件,则可能会使远程服务器上的文件保持打开状态。它将使用登录到工作站的用户的凭据访问这些文件。
如果用户已经映射了网络共享,则可能是防病毒软件正在扫描文件(这也可能发生在网络共享上),并且防病毒软件可能会让文件处于打开状态。
答案3
我猜问题出在协议或 Windows 客户端上,因为我在 Samba (linux) 服务器上也看到过同样的问题。我的大多数客户端都是 Mac;但只有 Windows 系统管理的文件保持打开状态的时间太长(有时长达数天)。
答案4
我在 Win2000 和 Win2003 中也遇到了这个问题。通常我可以使用以下方法关闭锁:Sysinternals 进程浏览器。从“查找”菜单中选择“文件或句柄...”,然后查看搜索结果中出现的进程。在许多情况下,您可以终止将解除文件锁定的进程。
不过,在杀戮之前一定要清楚自己要杀的到底是什么……