D'accord. J'aurais peut-être une solution. J'ai essayé d'examiner le /savecred
paramètre de net use
mais je n'ai pas pu le faire fonctionner correctement, voici donc une autre approche:
Votre problème était le retard avec Explorer après la déconnexion avec le VPN.
Alors pourquoi ne pas masquer les disques de l'Explorateur après la déconnexion pour qu'il n'essaye pas d'y accéder.
Il existe une clé de registre pour masquer les lecteurs de l'Explorateur:
HKEY_xxx\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives
et HKEY_xxx peut être à la fois HKEY_LOCAL_MACHINE
et HKEY_CURRENT_USER
.
Sous ce post, il y a un résumé de la valeur à NoDrives
conserver.
(ajoutez les numéros des disques).
J'ai créé un petit fichier batch où vous n'avez pas à faire les calculs vous-même.
Il s'agit d'un fichier batch à bascule.
Exécutez-le une fois pour vous connecter à votre "Mon VPN".
Exécutez à nouveau pour déconnecter et cacher les disques I, J et K .
Vous pouvez facilement diviser cela en deux fichiers batch, mais vous obtenez le point ... Vous pouvez également simplifier ce fichier batch si vous définissez le nombre de NoDrives
vous - même au lieu de laisser le lot faire le calcul.
Cela doit être exécuté en tant qu'administrateur. (il est possible d'élever automatiquement mais c'est très avancé)
Si vous vous accordez l'autorisation sur la clé, NoDrives
vous n'avez pas besoin de l'exécuter en tant qu'administrateur. Il suffit d'ouvrir regedit.exe
, accédez à cette clé et cliquez sur "Modifier> Autorisations" et accordez-vous "Contrôle total" sur cette clé.
@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
Remarque: l'
Explorateur Windows doit être fermé et rouvert avant que les lecteurs ne soient masqués (ou visibles à nouveau).
Paramètres pour 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