Pokrenite zadatak kada se VPN poveže: događaj, provjera ili vjerodajnica?
Skripta za prijavu izvršava se prije nego što tunel postoji. Uporedite okidač mrežnog događaja, provjeru resursa i pohranjene vjerodajnice po tome što svaki garantuje.
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.
| Mechanism | Reacts to | Covers a mid-session reconnect | Typical failure |
|---|---|---|---|
| Network profile event | A network connect record | Yes, when the event repeats | Runs on the wrong network |
| Resource poll with backoff | The resource becoming reachable | Yes | Log noise and a wasted window |
| Stored credentials alone | Nothing; it removes a prompt | No | Still 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.