![为什么当文件仍在远程打开时 Get-SmbOpenFile 会丢失锁](https://linux22.com/image/757921/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BD%93%E6%96%87%E4%BB%B6%E4%BB%8D%E5%9C%A8%E8%BF%9C%E7%A8%8B%E6%89%93%E5%BC%80%E6%97%B6%20Get-SmbOpenFile%20%E4%BC%9A%E4%B8%A2%E5%A4%B1%E9%94%81.png)
我正在使用 Get-SmbOpenFile,但令人惊讶的是,它失去了连接,我可以看到即使过了几秒钟,文件上也没有锁了,甚至文件仍然处于打开状态。我可以安全地从我的服务器上删除该文件。
为什么会这样?我必须检查与用户关联的已打开的 .VHDX 磁盘文件,如果它们仍处于打开状态,则需要关闭它们。
Get-SmbOpenFile | Where-Object { $._Path -match '\\apvdp100\Profile\TestP1088\100.txt' } returns nothing even the file is opened remotely.
Get-SmbOpenFile | Where-Object { $._Path -match '100.txt' } returns the object if i open the file remotely and check within a second or so and stops outputting after few tries. Sometimes, even immediately issueing `Get-SmbOpenFile` doesn't outputs anything at all.
因此,我有两个问题:-)
那么,搜索文件的正确方法是什么?(以上完全限定路径不返回搜索结果)
为什么几秒钟后锁就丢了
答案1
感谢@Greg Askew 的宝贵意见。你说得对。必须注意哪个应用程序锁定了文件。记事本和 .rtf 文件没有保持锁定,因此它们不是测试这些场景的好用例。
我后来专注于基于“.VHDX”的文件并安装它们以进行上述命令的测试,并相应地返回了预期的结果。