web-dev-qa-db-ja.com

PowerShellを使用してネットワークドライブを切断する方法

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.

????

14
FernandoSBS

Powershellでは、接続に使用したUNCのみが与えられていて、マップされたドライブ文字がわからない場合、このような一連のコマンドを発行してドライブを切断できます。

トリッキーな部分は、WMIクエリで使用するために\文字をエスケープする必要があることです。

$Drive = Get-WmiObject -Class Win32_mappedLogicalDisk -filter "ProviderName='\\\\192.168.1.108\\d'"
Net Use $Drive.Name /delete
10
Zoredache

PowerShell独自のRemove-PSDriveを使用することをお勧めします。例えば:

Remove-PSDrive Y

コロンやバックスラッシュは含めないでください。ドライブ文字のみを使用してください。

6
Guy Thomas

あなたのコメントに基づいて私の答えを変更しました

正味使用Y:/ delete

3
Keltari

PowerShell 5(Windows 10)以降では、以下を使用できます。

Remove-SmbMapping -LocalPath "Y:"

https://docs.Microsoft.com/en-us/powershell/module/smbshare/remove-smbmapping?view=win10-ps

0
Minkus