如何使用Powershell断开网络驱动器


14

我想用Powershell断开网络驱动器(Y :)。该驱动器号已分配/映射到网络位置。有没有简单的方法可以做到这一点?

我相信“ 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.

????

Answers:


10

在powershell中,您可以发出一组类似的命令来断开驱动器的连接,仅给出用于连接的UNC,而不知道所映射的驱动器号。

棘手的部分是您必须转义\字符才能在WMI查询中使用它。

$Drive = Get-WmiObject -Class Win32_mappedLogicalDisk -filter "ProviderName='\\\\192.168.1.108\\d'"
net use $Drive.Name /delete

2
添加/ynet use $Drive.Name /delete强制关闭驱动器上所有打开的连接。如果存在打开的连接,net use则会在无人参与的脚本运行过程中提示您不需要的操作。
艾伦·唐纳利

6

我建议使用PowerShell自己的Remove-PSDrive。例如:

Remove-PSDrive Y

不要包含冒号或反斜杠;仅使用驱动器号。


7
Remove-psdrive Y不会完全删除驱动器,并且会留下网络驱动器映射,当您尝试在同一会话中重新创建ps-drive时,它将引发错误。您必须使用net use / delete才能消除此问题。如果powershell remove-psdrive命令实际删除了驱动器,那就太好了。

这是对的。PowerShell 5提供了有效的Remove-SmbMapping(请参见下面的答案)
Minkus

3

根据您的评论更改了我的答案

净使用Y:/删除


我相信我没有表现出好。我要从Windows资源管理器中删除驱动器。
FernandoSBS

如果我想使用网络地址呢?
FernandoSBS

您不能,您正在断开驱动器,而不是共享驱动器
Keltari

请检查初始帖子
FernandoSBS

改写您的初始帖子,因为Keltari说的对。他说的将删除Windows资源管理器中的驱动器
Jason H

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.