Как показать подключенные диски в PowerShell?

13193
Kolob Canyon

Нужна команда PowerShell для отображения буквы диска и пути к нему.

Другими словами, команда, которая показывает мне то же самое, что и Windows Explorer.

Пробовал это:

Get-WmiObject -Class Win32_MappedLogicalDisk | select Name, ProviderName 

и отсутствует несколько дисков (перечисленных в проводнике Windows).

3
Get-PSDrive показывает эти отсутствующие диски? Что-то особенное или странное в этих дисках отсутствует? Все ли они сопоставлены с сервером Windows? Zoredache 7 лет назад 0
Вы специально хотите исключить локальные диски файловой системы? Jeff Zeitlin 7 лет назад 0
Как насчет старой доброй команды `NET USE` из Powershell или командной строки? Pimp Juice IT 7 лет назад 0
@ITSolutions `net use` не работает в Powershell ... если вы не перейдете в командную строку Kolob Canyon 7 лет назад 0
@Zoredache Я вижу пропущенные буквы дисков в столбце имени для команды `Get-PSDrive`. Поставщик не показывает мне путь к ним. Попытка выбрать `ProviderName` из` Get-PSDrive` и без кубиков Kolob Canyon 7 лет назад 0
Что значит «чистое использование» не работает под powershell? Работает отлично. Возможно, вам следует потратить некоторое время на то, чтобы выяснить, зачем вам это нужно, и как эти конкретные диски были сопоставлены в первую очередь. Дополнительный контекст может помочь нам выяснить, в чем заключается проблема, и получить ответ. Zoredache 7 лет назад 2
Вместо * упоминания * того, что вы видите, было бы гораздо полезнее на самом деле * показать * то, что вы видите. Опубликуйте скриншот окна вашего проводника и вывода `Get-PSDrive`. Lieven Keersmaekers 7 лет назад 2
@Zoredache Хорошо. `net use` работал. Я могу поклясться, что я пробовал это раньше, и это не сработало. Я думаю, это потому, что я пытался подключить сетевой диск в прошлый раз, когда использовал `net use`. Kolob Canyon 7 лет назад 0

2 ответа на вопрос

3
Jeff Zeitlin

Предполагая, что вы не хотите исключать диски, которые указывают на локальную файловую систему, я считаю, что

Get-PSDrive -PSProvider FileSystem | Select-Object name, @ else {$_.DisplayRoot}}} 

будет служить вашим потребностям. Если вы действительно хотите, чтобы исключить диски, которые указывают на локальной файловой системе, вы можете найти

Get-PSDrive -PSProvider FileSystem | Select-Object Name, DisplayRoot | Where-Object {$_.DisplayRoot -ne $null} 

чтобы быть больше по вкусу.

2
Pimp Juice IT

Попробуйте NET USEкоманду из Powershell

Хорошо. Чистое использование сработало. Я могу поклясться, что я пробовал это раньше, и это не сработало. Я думаю, это потому, что я пытался подключить сетевой диск в прошлый раз, когда использовал net use. - Колоб Каньон