Okay. Podría tener una solución. Intenté buscar el /savecred
parámetro de net use
pero no pude hacerlo funcionar correctamente, así que aquí hay otro enfoque:
Su problema fue la demora con Explorer después de la desconexión con la VPN.
Entonces, ¿por qué no ocultar las unidades de Explorer después de la desconexión para que no intente acceder a ellas?
Hay una clave de registro para ocultar las unidades de Explorer:
HKEY_xxx\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives
y HKEY_xxx pueden ser HKEY_LOCAL_MACHINE
y HKEY_CURRENT_USER
.
Debajo de esta publicación hay un resumen de qué valor NoDrives
debe contener.
(agregue los números para las unidades).
He creado un pequeño archivo por lotes donde no tiene que hacer los cálculos usted mismo.
Es un archivo por lotes "alternar".
Ejecútelo una vez para conectarse a su "Mi VPN".
Ejecutarlo de nuevo a la desconexión y ocultar las unidades I, J y K .
Puede dividir esto fácilmente en dos archivos por lotes, pero obtiene el punto ... También podría simplificar este archivo por lotes si establece el número de NoDrives
usted mismo en lugar de dejar que el lote haga el cálculo.
Esto debe ejecutarse como administrador. (es posible elevar automáticamente pero eso es muy avanzado)
Si concede permiso a sí mismo en la llave NoDrives
que no tiene que ejecutar esto como administrador. Simplemente abra regedit.exe
, busque esta clave y haga clic en "Editar> Permisos" y otórguese "Control total" sobre esta clave.
@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
Nota:
el Explorador de Windows debe cerrarse y abrirse nuevamente antes de que las unidades estén ocultas (o visibles de nuevo).
Configuraciones para 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