マッピングされたネットワークドライブを「切断」する方法はありますが、マッピングを削除しませんか?


12

たとえば、入力するとnet use次のように表示されます。

Status        Local       Remote
OK            H:          \\server\home folders\me
Unavailable   I:          \\serverA\share1
Disconnected  J:          \\serverB\share2
Reconnecting  K:          \\serverC\share3

これが発生すると、C:ドライブに新しいフォルダーを作成するような簡単な操作を行うと、Windowsエクスプローラーで10〜20秒の遅延が発生します。しばらくすると、K:ドライブが「切断」に変わります。

私がやりたいのは、認証されたマッピングを失うことなく、何らかの形でK:ドライブを強制的に切断または使用不可にすることです。


2
好奇心から、なぜこれが必要だと思いますか?
ゾレダチェ

2
VPNに接続し、K:ドライブを使用して、VPNを切断します。その後、エクスプローラーが遅くなり、最終的にK:が切断されたとマークされます。さまざまなスクリプトで3つ以上のドライブマッピングが必要であり、1日に何度もVPNに接続/切断する可能性があるため、これは簡略化です。
グレンリトル

1
@GlenLittleドライブをマップするときに「ログオン時に再接続」オプションのチェックを外してみましたか?
モーセ

4
ドライブを接続および切断するためのスクリプトを作成してください(マッピングの削除を含む)。同じように、ここであなたも、自動的にVPNに接続するスクリプトと(すべてのドライブマッピングのものを含む)を切断するには、スクリプト作成することができます
のRik

4
Aは、net use \\serverB\share2 /delete(それがドライブを切断しますが、マッピング苦しめるない)トリックを行う必要があります
パオロGibellini

回答:


1

Microsoftは、このような管理タスクをPowerShellに移行しようとしているようです。

特定の場合、使用するコマンドレットはRemove-PSDriveです。Remove-PSDriveは、要求されたとおりに、マッピングされたネットワークドライブを切断します。シナリオの構文は次のとおりです。

Remove-PSDrive -Name K

そのコマンドレットを実行できるPowerShellコマンドラインにアクセスするには、スタートメニューを開き、検索ボックスに「powershell」と入力します。検索ボックスがない場合は、スタートメニューから[実行]を選択し、実行ボックスに「powershell」と入力してEnterキーを押します。

すべてのオプションを含むこのコマンドレットの使用方法の詳細については、Microsoftのtechnet記事を参照してください:http ://technet.microsoft.com/en-us/library/hh849760.aspx


とても有望に思えたが、私にはうまくいかない。実行するとnet use y: ....、PowerShellを起動して実行するとget-psdriveYリストに表示されます。こうには、remove-psdrive -Name Yそれを削除します。しかし、net useそれでも静止画が表示され、Y:ドライブを使用できます。(それはPS v2を使用していたようです。どうやらv4で動作します。)
グレンリトル

Powershell 4.0は数週間前にリリースされました... technet.microsoft.com/en-us/library/hh847820.aspx
グレンリトル

@GlenLittleしかし、これはドライブ文字を削除するか、手紙を保持しながらそれを切断しますか?削除する場合、これは同じではありませんnet use Y: /deleteか?
リック

最終的にそれを試すことができます。残念ながら、これはNet use /delete@Rikが推測したように模倣しているようです。ネットワークドライブに関する限り、違いは見当たりません。
グレンリトル

1

OK。解決策があるかもしれません。の/savecredパラメーターを調べてみましたが、net use適切に機能させることができなかったため、別のアプローチを次に示します。

あなたの問題は、VPNとの切断後のExplorerの遅延でした。
なぜないエクスプローラからドライブを隠すことがそれらにアクセスしようとはしませんので、切断後。

Explorerからドライブを隠すレジストリキーがあります。

HKEY_xxx\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives

そしてHKEY_xxxは両方が可能HKEY_LOCAL_MACHINEHKEY_CURRENT_USER

この投稿の下に、どの値NoDrivesが保持されるべきかについての要約があります。
(ドライブの番号を追加します)。


計算を自分で行う必要のない小さなバッチファイルを作成しました。
これは「トグル」バッチファイルです。

一度実行して、「My VPN」に接続します。
もう一度実行して、ドライブI、J、およびKを切断して非表示にします

これを2つのバッチファイルに簡単に分割できますが、ポイントを得ることができます... NoDrivesバッチに計算をさせる代わりに、自分の数を設定すると、このバッチファイルを単純化することもできます。

これは管理者として実行する必要があります。(自動的に昇格することは可能ですが、それは非常に高度です)

キーに対する許可を自分に付与する場合、これを管理者として実行NoDrivesする必要はありません。開いてregedit.exe、このキーを参照し、[編集]> [アクセス許可]をクリックして、このキーに対する[フルコントロール]を付与します。

@echo off
:: ------------------------
set MyVPN="My VPN"
:: ------------------------
rasdial | findstr %MyVPN% 1>nul
If %ERRORLEVEL% == 0 goto disconnect

:connect
echo ============================================================
echo connecting to %MyVPN%
echo ============================================================
rasdial %MyVPN%
:: This is easy. We just set 0 in NoDrives
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDrives /T REG_DWORD /d 0 /f

goto :end

:disconnect
echo ============================================================
echo disconnecting from %MyVPN%
echo ============================================================
rasdial %MyVPN% /disconnect

:: ------------------------------------------------------------------
:: This is harder. We need to determine what value NoDrives should be
:: ------------------------------------------------------------------
Setlocal EnableDelayedExpansion

:: ------------------------
:: Set here your VPN drives
:: ------------------------
set drives='I J K'

:: ------------------------
:: Calculation to determine the value
:: ------------------------
set drive_value=1
set NoDrives=0
for %%c in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  echo.%drives% | findstr "%%c" 1>nul
  if !ERRORLEVEL! == 0 set /a NoDrives+=drive_value
  set /a drive_value="drive_value<<1"
)
echo Seting NoDrives to %NoDrives%
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDrives /T REG_DWORD /d %NoDrives% /f
endlocal

:end
pause

注:
ドライブが非表示になる(または再び表示される)前に、Windowsエクスプローラーを閉じて再度開く必要があります。


の設定NoDrives

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives

     Decimal       Hex
A:         1         1
B:         2         2
C:         4         4
D:         8         8
E:        16        10
F:        32        20
G:        64        40
H:       128        80
I:       256       100
J:       512       200
K:      1024       400
L:      2048       800
M:      4096      1000
N:      8192      2000
O:     16384      4000
P:     32768      8000
Q:     65536     10000
R:    131072     20000
S:    262144     40000
T:    524288     80000
U:   1048576    100000
V:   2097152    200000
W:   4194304    400000
X:   8388608    800000
Y:  16777216   1000000 
Z:  33554432   2000000 

おもしろそう...これを試してみます。バッチファイルでのビット単位の数学の使用が大好きです!
グレンリトル

0

これを行う方法はわかりませんが、マッピングされたドライブを追加して簡単に作業できるスクリプトを作成します。

  1. 拡張子が.batのファイルを作成します(例:map_drives.bat)
  2. ファイル内に次のような行を追加します net use J: \\server\folder
  3. そのファイルをダブルクリックすると、ドライブがマップされます

答えてくれてありがとう。私はこれを行いますが、ドライブのいくつかは異なるid / pw認証を必要とし、それらをスクリプトに入れたくありません。
グレンリトル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.