Mrežni disk prije nego što je VPN spreman? Vežite ga za server
Skripta za prijavu mapira share prije nego tunel ima rutu. Provjerite jedan server koji odgovara samo kroz njega, zatim mapirajte u sesiji korisnika i zabilježite rezultat.
Slovo diska se pojavi pri prijavi i zatim se otvori kao prazna mapa, ili s crvenim krstićem i porukom o nedostupnom mrežnom resursu. Dozvole su obično u redu. Dogodilo se to da je naredba za mapiranje radila u prozoru u kojem je VPN klijent postojao, ali ruta do file servera nije, i Windows je taj neuspjeh zapisao kao stanje diska. Rješenje je prestati tretirati mapiranje kao nešto što se dešava pri prijavi i tretirati ga kao posljednji korak niza za povezivanje.
Zašto se mapiranje izvršava prerano
Skripta za prijavu počinje kad počne sesija. VPN klijent koji se poveže tokom prijave dodaje svoju vlastitu vremensku liniju: proces može raditi, virtuelni adapter može postojati, a ruta do uredske podmreže još može nedostajati. Ta tri stanja izgledaju isto iz ugla skripte i samo jedno od njih radi.
Neka okruženja reaguju ponavljanjem istog neuspjelog reda pri svakoj prijavi, što stvara korisnika koji je naučio dvaput kliknuti disk i skriptu koja nikad nije uspjela sama.
Sam disk to pogoršava. Mapirani disk je objekat sesije, i nakon što ga Windows označi kao nedostupan, ikona može ostati pokvarena dugo nakon što tunel postane zdrav. Zato ručno ponovno mapiranje radi dok skripta izgleda kao da ne radi ništa. Sesija pamti neuspjeh, a ne namjeru iza njega.
Status povezanosti nije putanja
VPN ikona u traci obavještava je li tunel podignut. Ne govori ništa o tome postoji li ruta do određenog servera, razrješava li DNS to ime u adresu tunela, ni o tome prihvata li vas vlastiti firewall servera.
To su tri odvojena kvara s istim vidljivim ishodom, a vezivanje za ikonu u traci spaja ih u jedan nepouzdan signal.
Provjera spremnosti koja imenuje server koji vam zaista treba ih razlikuje, jer ne uspijeva dok konkretna putanja ne proradi, a ne dok se neko sučelje ne prijavi kao povezano.
Vežite se za server, ne za klijenta
Odaberite jedan host dostupan samo kroz tunel i sačekajte ga prije nego što bilo šta mapirate. Odsječak ispod povezuje sačuvani Windows VPN unos, provjerava file server i zatim mapira disk.
@echo off
set server=fileserver.corp.example
rasdial "Office VPN" /disconnect
rasdial "Office VPN"
:wait
ping -n 1 -w 1000 %server% >nul || (
timeout /t 5 /nobreak >nul
goto wait
)
net use Z: \\%server%\share /persistent:no
Ping je provjera spremnosti, a ne test dozvola. Ako je ICMP filtriran na vašoj mreži, umjesto toga provjerite uslugu koju zaista koristite: net view \\%server% za brzu provjeru ili kratak TCP test na port 445 u PowerShellu. Oba se vežu za ono što je važno.
Dodajte ograničen broj pokušaja. Petlja čekanja bez granice pretvara pokvaren tunel u sesiju koja nikad ne završi prijavu, a to je gori poziv podršci od nedostajućeg slova diska.
Učinite je ponovno izvodljivom i svjesnom sesije
Pokrećite je unutar korisnikove vlastite sesije. Zadatak koji radi kao SYSTEM stavlja disk u potpuno drugu sesiju, a prijavljeni korisnik nikad ne vidi rezultat. Tako dobijete skriptu koja izvještava o uspjehu i radnu površinu bez diska.
Provjerite prije mapiranja i uklonite samo zastario unos. net use Z: /delete vraća grešku kad slovo nije u upotrebi, a tu grešku je sigurno zanemariti, a ne odustati zbog nje od ostatka skripte. Zadržite /persistent:no da se neuspjeli pokušaj kasnije ne pretvori u trajni pokušaj ponovnog povezivanja.
I ne stavljajte lozinku u datoteku. rasdial može ponovno iskoristiti akreditive sačuvane za VPN unos, a share bi se trebao autentificirati kao prijavljeni korisnik. Ako share zaista treba druge akreditive, registrirajte ih jednom po korisniku pomoću cmdkey umjesto da ih ugrađujete u batch datoteku koja živi na shareu za prijavu. Svako ko može čitati taj share može pročitati i lozinku, a to pogodnost pretvara u incident.
Ponovno pokretanje cijele skripte treba biti bezopasno, jer će se upravo to dogoditi. Korisnici se ponovo povezuju, laptopovi se bude, i isti put koda se izvršava ponovo s drugim početnim stanjem.
Zabilježite dovoljno da dokažete koja je polovina zakasnila
Upišite vremensku oznaku, rezultat provjere spremnosti i izlazni kod mapiranja u datoteku u korisničkom profilu. Kad stigne sljedeća prijava nedostajućeg diska, taj dnevnik odgovara na jedino važno pitanje: je li tunel stigao kasno ili je share odbio?
Bez toga se svaki ponovni slučaj istražuje od nule, a uobičajen zaključak je promjena dozvola koja ništa ne popravlja.
Testirajte niz jednom nakon hladnog podizanja i jednom nakon sna. Slučaj buđenja je mjesto gdje se redoslijed najčešće lomi, jer se sesija nastavlja prije mreže i skripta vidi mašinu koja je prijavljena prije sati.