Как отключить сетевой диск с помощью powershell

14

Я хотел бы отключить сетевой диск (Y :) с powershell. Эта буква диска назначается / сопоставляется с сетевым местоположением. Есть ли простой способ сделать это?

Я верю, что «net use XXX / delete» сделает это.

Проблема в:

C:\Windows>net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
OK           Y:        \\192.168.1.108\d         Microsoft Windows Network
The command completed successfully.

почему когда я пытаюсь:

C:\Windows>net use \\192.168.1.108\d  /del

Я получил:

C:\Windows>net use \\192.168.1.108\d  /del
The network connection could not be found.

More help is available by typing NET HELPMSG 2250.

????

FernandoSBS
источник

Ответы:

10

В powershell вы можете выполнить такой набор команд для отключения диска, учитывая только тот UNC, который вы использовали для подключения, и не зная буквы диска, которая была сопоставлена.

Сложность в том, что вам нужно экранировать \символ, чтобы использовать его в запросе WMI.

$Drive = Get-WmiObject -Class Win32_mappedLogicalDisk -filter "ProviderName='\\\\192.168.1.108\\d'"
net use $Drive.Name /delete
Zoredache
источник
2
Добавьте, /yчтобы net use $Drive.Name /deleteпринудительно закрыть все открытые соединения на диске. Если есть открытые соединения, net useбудет запрашивать действие, которое вы не хотите в середине автоматического запуска сценария.
Алан Доннелли
6

Я хотел бы предложить использовать собственный Remove-PSDrive PowerShell. Например:

Remove-PSDrive Y

Не включайте двоеточие или обратную косую черту; просто используйте только букву диска.

Гай Томас
источник
7
Remove-psdrive Y не удалит диск полностью и оставит отображение сетевого диска, что приведет к ошибке при попытке воссоздать ps-диск в том же сеансе. Вы должны использовать net use / delete, чтобы устранить эту проблему. было бы неплохо, если бы команда powershell remove-psdrive фактически удалила диск.
Это правильно. PowerShell 5 предоставляет Remove-SmbMapping, который работает (см. Ответ ниже)
Minkus
3

Изменил мой ответ на основе вашего комментария

Чистое использование Y: / удалить

Keltari
источник
Я считаю, что я не выразил себя хорошо. Что я хочу, чтобы удалить диск из Windows Explorer.
FernandoSBS
и если я хочу использовать сетевой адрес, чтобы сделать это?
FernandoSBS
вы не можете, вы отключаете диск, а не общий ресурс
Keltari
проверьте первоначальный пост, пожалуйста
FernandoSBS
Перефразируйте ваш первоначальный пост, потому что то, что сказал Келтари, правильно. То, что он сказал, удалит диск из проводника Windows
Джейсон Х