OK。解決策があるかもしれません。の/savecred
パラメーターを調べてみましたが、net use
適切に機能させることができなかったため、別のアプローチを次に示します。
あなたの問題は、VPNとの切断後のExplorerの遅延でした。
なぜないエクスプローラからドライブを隠すことがそれらにアクセスしようとはしませんので、切断後。
Explorerからドライブを隠すレジストリキーがあります。
HKEY_xxx\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives
そしてHKEY_xxxは両方が可能HKEY_LOCAL_MACHINE
とHKEY_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