PowerShell需要删除一个NamedPipe - 如何?

时间:2014-06-10 08:46:28

标签: powershell named-pipes

我需要一个命名管道。这个管道可能早先已由同一个PowerShell-Script定义,我可以通过以下方式找到它:

$pipeName = "testpipe"
$delPipe = [System.IO.Directory]::GetFiles("\\.\pipe\") | where { $_ -match $pipeName }

简单

 Remove-Item $delPipe 

失败:(
删除/取消此管道需要做什么?
我可以通过以下方式找出“锁定什么”的管道Lockhunter?

提前致谢,
Gooly

PS为别人给他们一个主意 我找到了一个解决方案,以便选择一个自由管道,时间将删除以前使用过的管道:

 $BaseName = "testpipe"
 $n = 0;
 do {
     $n++
     $pipeName = "$BaseName$n"
     $usedPipe = [System.IO.Directory]::GetFiles("\\.\pipe\") | where { $_ -match $pipeName }
 } while ( $usedPipe.Length -gt 5 )

1 个答案:

答案 0 :(得分:2)

用户代码不会删除命名管道。根据{{​​3}}:

  

当最后一个句柄到时,总是删除命名管道的实例   命名管道的实例已关闭。

来自C#方面的documentation也是如此,因为Powershell也利用了.Net。