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.

????

回答:


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、無人スクリプトの実行中に不要なアクションを要求します。
アランドネリー2015年

6

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

Remove-PSDrive Y

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


7
Remove-psdrive Yはドライブを完全に削除せず、ネットワークドライブマッピングを残します。これは、同じセッションでpsドライブを再作成しようとするとエラーをスローします。この問題を無効にするには、net use / deleteを使用する必要があります。powershell remove-psdriveコマンドが実際にドライブを削除したとしたら、すばらしいでしょう。

これは正しいです。PowerShell 5は、機能するRemove-SmbMappingを提供します(以下の回答を参照)
Minkus

3

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

正味使用Y:/ delete


私は自分をうまく表現していないと思います。私が欲しいのは、Windowsエクスプローラからドライブを削除することです。
FernandoSBS

ネットワークアドレスを使用したい場合はどうすればよいですか。
FernandoSBS

できません。共有ではなくドライブを切断しています
Keltari

最初の投稿を確認してください
FernandoSBS

Keltariの発言が正しいので、最初の投稿を書き直してください。彼が言ったことはWindowsエクスプローラからドライブを削除します
ジェイソンH

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.