Skripta za prijavu koja mapira disk ili pokreće posao sinhronizacije izvršava se prije nego što tunel dobije adresu, pa tiho ne uspijeva i korisnik je svako jutro popravlja ručno. Windows većini klijenata ne nudi povratni poziv pri povezivanju za svaki VPN, ali bilježi promjenu mreže, a taj zapis može pokrenuti posao u pravom trenutku. Izbor je između reagovanja na taj zapis, provjere resursa i uklanjanja upita koji je učinio kvar vidljivim.

Upoređivanje tri mehanizma po tome što garantuju bolje je od rangiranja po eleganciji. Svaki ne uspijeva drugačije, a način kvara je ono s čim poslije živite.

Zašto se prijava izvršava prerano

Prijava i pokretanje sistema izvršavaju se prije nego što VPN adapter dobije adresu, pa mapiranje diska, interni URL ili veza s bazom podataka pokušani u tom trenutku nemaju ni rutu ni razrješivač. Zahtjev ne uspijeva, a sesija ostaje u stanju koje korisnik mora popraviti ručno. Premještanje iste skripte u fasciklu za automatsko pokretanje ništa ne mijenja, jer problem redoslijeda putuje s njom. Okidač mora biti promjena mreže, a ne događaj sesije.

Zakazani zadatak pri prijavi sa proizvoljnim kašnjenjem izgleda kao popravka, a zapravo je nagađanje. Radi na brzoj vezi, a ne uspijeva na sporenoj, što je najnekorisnija vrsta pouzdanosti.

Tri okidača u poređenju

Mehanizmi se razlikuju po tome što posmatraju, koliko brzo reaguju i što rade u slučaju ponovnog povezivanja kasnije tokom dana. Tabela ih poredi po te tri tačke, a ne po tome koliko pametno svaki zvuči.

MechanismReacts toCovers a mid-session reconnectTypical failure
Network profile eventA network connect recordYes, when the event repeatsRuns on the wrong network
Resource poll with backoffThe resource becoming reachableYesLog noise and a wasted window
Stored credentials aloneNothing; it removes a promptNoStill fires before the tunnel

Čitajte tabelu red po red. Okidač događaja je najbrži i najbučniji, jer Windows bilježi svaku mrežu, uključujući Wi-Fi u kafiću, pa radnja mora provjeriti resurs prije nego što bilo šta uradi. Provjera je sporija i preciznija, jer uspijeva tačno kada se javi dijeljeni resurs ili ime hosta, i ne treba joj znanje o tome koji je klijent instaliran. Pohranjene vjerodajnice uopšte nisu konkurentska opcija: one uklanjaju upit za lozinku, što je drugi i nezavisni razlog zašto mapiranje pri prijavi ne uspijeva.

Izbor između prva dva svodi se na to postoji li na klijentu upotrebljiv događaj. Gdje postoji, događaj plus provjera resursa bolji je zadani izbor.

Ispravno postavite okidač događaja

Zapis se nalazi u dnevniku Microsoft-Windows-NetworkProfile/Operational, a ID 10001 označava mrežu koja se upravo povezala. Kreirajte zadatak s okidačem „Pri događaju“ usmjerenim na taj dnevnik, to ime provajdera i taj identifikator. Svaka mreža kojoj se mašina pridruži aktiviraće ga, pa radnji treba zaštitni uslov, a ne pretpostavka, i treba da se izvršava samo dok je korisnik prijavljen ako posao dira mapirane diskove.

Zaštitni uslov treba da provjeri šta zadatak zaista treba, poput putanje dijeljenja ili porta usluge, i da tiho izađe kada to nije dostupno. Provjera imena adaptera nije dovoljna, jer klijent može koristiti jedan adapter kroz nekoliko profila. Tihi izlaz čuva dnevnik čitljivim i sprječava oluju ponovnih pokušaja prema mreži koja nikada neće poslužiti resurs.

Provjerite da se zadatak izvršava u pravom trenutku

Dokažite vrijeme, a ne konfiguraciju. Naredbe ispod prikazuju definiciju zadatka, nedavne događaje mrežnog profila i da li je resurs dostupan s računa pod kojim se zadatak izvršava. Pokrenite ih nakon stvarnog ponovnog povezivanja, a ne nakon ručnog pokretanja.

schtasks /query /tn "VpnPostConnect" /v /fo LIST
Get-WinEvent -LogName Microsoft-Windows-NetworkProfile/Operational -MaxEvents 10
Test-Path \\fileserver\share
whoami

Unos u istoriji zadatka koji postoji dok se ne poklapa nijedan mrežni događaj znači da je okidač pogrešan, a ne radnja. Ako se događaji pojave, a zadatak ne pokrene, zadatak možda radi pod računom koji ne vidi resurs, a izlaz računa je trag. Provjera resursa koja prođe dok mapiranje još nedostaje upućuje na kontekst sesije, a ne na povezanost. Svako od tih triju zapažanja vodi vas do drugačijeg rješenja.

Zapišite jednu liniju dnevnika po pokretanju s adresom, rezultatom resursa i ishodom. Sljedeći kvar će tada pokazati da li se zadatak izvršio rano, izvršio na pogrešnoj mreži ili se uopšte nije izvršio.

Povezani članci