我想使用 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.
????
答案1
在 powershell 中,您可以发出一组类似的命令来断开驱动器的连接,只需提供您用于连接的 UNC,而不知道映射的驱动器号。
棘手的部分是您必须转义该\
字符才能在 WMI 查询中使用它。
$Drive = Get-WmiObject -Class Win32_mappedLogicalDisk -filter "ProviderName='\\\\192.168.1.108\\d'"
net use $Drive.Name /delete
答案2
我建议使用 PowerShell 自己的 Remove-PSDrive。例如:
Remove-PSDrive Y
不要包含冒号或反斜杠;只需使用驱动器号。
答案3
根据您的评论更改了我的答案
净使用 Y: /delete
答案4
在 PowerShell 5(Windows 10)及更高版本中,您可以使用:
Remove-SmbMapping -LocalPath "Y:"
https://docs.microsoft.com/en-us/powershell/module/smbshare/remove-smbmapping?view=win10-ps