我需要获取所有映射的网络驱动器,包括当前未连接的驱动器。我尝试使用Get-PSDrive
,但它只显示当前连接的。可以使用net use
获取所有映射的网络驱动器,但我无法重复使用输出(我需要保存盘符和路径)。
我需要获取所有映射的网络驱动器,包括当前未连接的驱动器。我尝试使用Get-PSDrive
,但它只显示当前连接的。可以使用net use
获取所有映射的网络驱动器,但我无法重复使用输出(我需要保存盘符和路径)。
虽然James C.发布的HKCU路径解决方案可能是更好的解决方案,但您可以将net use
的输出转换为对象。看看...
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
(net use) -replace '\s{2,}', ',' |sls '\\\\'|ConvertFrom-Csv -Header Status, DriveLetter, UNC_Path, Network
- user6811411Get-ChildItem hkcu:\network
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$
Get-ChildItem hkcu:\network
- henrycarteruk