如何在Powershell中断开网络驱动器的连接?

时间:2018-10-11 10:54:16

标签: shell powershell mapping network-drive net-use

我需要获取所有映射的网络驱动器,甚至包括当前断开连接的网络驱动器。我使用2018-10-11neel.com.myapplication E/ANSWER: id=com.MoversGames.DinosaurWorldGame 进行了尝试,但这仅显示了当前已连接的那些。 可以使用Get-PSDrive获取所有映射的网络驱动器,但是我无法重用输出(我需要保存字母和路径)。

2 个答案:

答案 0 :(得分:3)

尽管James C.发布的HKCU路径解决方案可能是更好的解决方案,但是您可以将net use的输出转换为对象。 ee ...

net use |
    Select-Object -SkipLast 2 |
    Select-Object -Skip 6 |
    ForEach-Object {$_ -replace '\s{2,}', ', '} |
    ConvertFrom-Csv -Header Status, DriveLetter, UNC_Path, Network |
    Select-Object -Property DriveLetter, UNC_Path

希望有帮助,

答案 1 :(得分:2)

您可以使用以下方法从“用户”注册表中获取网络驱动器的状态:

Get-ChildItem hkcu:\network

要访问这些reg条目,您需要使用Get-ItemProperty,您可以构建一个PSObject来保存属性以使其更加美观:

Get-ChildItem hkcu:\network | %{            
    $obj = New-Object PSObject
    $obj | Add-Member Noteproperty Drive $_.name.Replace('HKEY_CURRENT_USER\network\','')
    $obj | Add-Member NoteProperty Path (Get-ItemProperty (Join-Path hkcu:\network $_.name.split('\')[-1]) | Select-Object -ExpandProperty RemotePath)
    [array]$mapped += $obj
}

示例属性:

PS> $mapped

Drive Path          
----- ----          
Y     \\server1\share
Z     \\server2\hidden$