为什么当文件仍在远程打开时 Get-SmbOpenFile 会丢失锁

为什么当文件仍在远程打开时 Get-SmbOpenFile 会丢失锁

我正在使用 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”的文件并安装它们以进行上述命令的测试,并相应地返回了预期的结果。

相关内容