C# 为什么.VHDX文件在强制关闭后会再次变忙?

C# 为什么.VHDX文件在强制关闭后会再次变忙?,c#,powershell,powershell-remoting,.vhdx,C#,Powershell,Powershell Remoting,.vhdx,我在服务器机器上有一个奇怪的场景。在那里,我设置了共享路径'C:\UPD$',其中deep中有一个.VHDX文件,外部客户端可以访问该文件。(即,其他客户端计算机已打开它们) 我想强制关闭句柄,该句柄在发出'Get-SmbOpenFile | Where Object{$.\u Path-match'path1'-和'filename.vhdx'}'时被关闭。 但很快,它又开始忙碌起来。然后,我通过再次发出上述命令来确认此行为,并返回有效结果(即,它有一些打开的句柄) 我真的不知道为什么它又变忙

我在服务器机器上有一个奇怪的场景。在那里,我设置了共享路径
'C:\UPD$'
,其中deep中有一个.VHDX文件,外部客户端可以访问该文件。(即,其他客户端计算机已打开它们)

我想强制关闭句柄,该句柄在发出
'Get-SmbOpenFile | Where Object{$.\u Path-match'path1'-和'filename.vhdx'}'时被关闭。

但很快,它又开始忙碌起来。然后,我通过再次发出上述命令来确认此行为,并返回有效结果(即,它有一些打开的句柄)


我真的不知道为什么它又变忙了

似乎有一定的超时时间。我关闭了句柄,它只是关闭了,几秒钟后,我没有与它进行交互,它再次变得繁忙,并返回非零结果(准确显示句柄正在使用)

有人能告诉我应该使用什么备用命令来永久关闭.VHDX文件的磁盘句柄吗?或者,
Get SmbOpenFile
commandlet有什么问题?这真是奇怪的行为。您关闭了句柄,文件又变忙了(我甚至确认文件没有装载到远程服务器的其他地方)

我使用Enter-PSSession执行远程命令(即,它是特定帐户下的远程运行空间执行)

此外,以下是我尝试使用
close SmbOpenFile-Force
强制关闭文件时的结果,下次
Get SmbOpenFile
返回无结果时,仍然使用流读取文件会返回另一进程正在使用该文件的错误

有谁能告诉我在上述情况下出了什么问题

编辑

您可以看到,在使用
Get SmbOpenFile-Force
强制关闭句柄后,
Get SmbOpenFile
返回0个结果。但diskmgmt.msc无法访问和装载文件。它说它已经在使用了。为什么?

另一个奇怪的行为是:

我刚刚尝试启动diskmgmt.msc,并尝试使用操作->附加VHD附加此文件,它抛出上述错误(即文件正在使用),然后突然发出
Get SmbOpenFile
开始报告某些打开的句柄


现在你有什么想法?似乎超时问题正在发生。由于某些原因,超时发生,然后它忘记了“处理信息或反之亦然”。

“我真的不知道它为什么会再次变忙?”-你刚才不是说它们被多个客户端访问了吗?可能他们中的一个试图重新打开它。我怀疑,它没有被任何其他客户打开。请参见编辑。