Как получить отключенные сетевые диски в Powershell? - PullRequest
0 голосов
/ 11 октября 2018

Мне нужно получить все подключенные сетевые диски, даже те, которые в данный момент отключены.Я попробовал это с Get-PSDrive, но это показывает только те, которые в настоящее время подключены.Можно получить все подключенные сетевые диски с net use, но я не могу повторно использовать вывод (мне нужно сохранить букву и путь).

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Вы можете получить статус сетевых дисков из реестра пользователей, используя:

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$
0 голосов
/ 11 октября 2018

хотя решение по пути HKCU, опубликованное Джеймсом С., вероятно, является лучшим решением, вы МОЖЕТЕ получить вывод net use в объекты.LOOKEE ...

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

надеюсь, что поможет,
Ли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...