Spustenie úlohy pri pripojení VPN: udalosť, dopytovanie alebo prihlasovacie údaje?
Prihlasovací skript sa spúšťa skôr, než existuje tunel. Porovnajte trigger sieťovej udalosti, dopytovanie zdroja a uložené prihlasovacie údaje podľa toho, čo každý zaručuje.
Prihlasovací skript, ktorý mapuje disk alebo spúšťa synchronizačnú úlohu, beží skôr, než tunel získa adresu, takže potichu zlyhá a používateľ ho každé ráno opravuje ručne. Windows väčšine klientov neponúka spätné volanie pri pripojení pre každú VPN, ale zaznamenáva zmenu siete a tento záznam môže spustiť prácu v pravom okamihu. Voľba je medzi reakciou na tento záznam, dopytovaním zdroja a odstránením výzvy, ktorá zviditeľnila zlyhanie.
Porovnávanie troch mechanizmov podľa toho, čo zaručujú, je lepšie ako ich zoraďovanie podľa elegancie. Každý zlyháva inak a s režimom zlyhania potom žijete.
Prečo sa prihlásenie spúšťa príliš skoro
Prihlásenie a spustenie prebiehajú skôr, než adaptér VPN dostane adresu, takže mapovanie disku, interná URL alebo pripojenie k databáze vyskúšané v tom okamihu nemajú ani trasu, ani prekladač. Požiadavka zlyhá a relácia zostane v stave, ktorý musí používateľ opraviť ručne. Presunutie toho istého skriptu do priečinka po spustení nič nezmení, pretože problém s poradím cestuje s ním. Triggerom musí byť zmena siete, nie udalosť relácie.
Naplánovaná úloha pri prihlásení s ľubovoľným oneskorením vyzerá ako oprava a v skutočnosti je to hádanie. Funguje na rýchlom spoji a zlyháva na pomalom, čo je najmenej užitočný druh spoľahlivosti.
Tri háčiky v porovnaní
Mechanizmy sa líšia v tom, čo sledujú, ako rýchlo reagujú a čo robia pri opätovnom pripojení neskôr počas dňa. Tabuľka ich porovnáva v týchto troch bodoch, nie v tom, ako múdro ktorý znie.
| 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 |
Čítajte tabuľku riadok po riadku. Háčik udalosti je najrýchlejší a najhlučnejší, keďže Windows zaznamenáva každú sieť vrátane Wi-Fi v kaviarni, takže akcia musí overiť zdroj skôr, než čokoľvek urobí. Dopytovanie je pomalšie a presnejšie, pretože uspeje presne vtedy, keď odpovie zdieľanie alebo názov hostiteľa, a nepotrebuje vedieť, ktorý klient je nainštalovaný. Uložené prihlasovacie údaje nie sú vôbec konkurenčnou možnosťou: odstraňujú výzvu na heslo, čo je druhý a nezávislý dôvod, prečo mapovanie pri prihlásení zlyháva.
Voľba medzi prvými dvoma závisí od toho, či na klientovi existuje použiteľná udalosť. Kde existuje, je udalosť plus kontrola zdroja lepším predvoleným nastavením.
Vytvorte trigger udalosti správne
Záznam žije v protokole Microsoft-Windows-NetworkProfile/Operational a ID 10001 označuje sieť, ktorá sa práve pripojila. Vytvorte úlohu s triggerom Pri udalosti zameraným na tento protokol, tento názov poskytovateľa a tento identifikátor. Spustí ho každá sieť, ku ktorej sa stroj pripojí, takže akcia potrebuje ochrannú klauzulu, nie predpoklad, a ak práca siaha na mapované disky, mala by bežať len vtedy, kým je používateľ prihlásený.
Ochranná klauzula by mala testovať to, čo úloha skutočne potrebuje, napríklad cestu k zdieľaniu alebo port služby, a potichu skončiť, keď to nie je dostupné. Testovať názov adaptéra nestačí, pretože klient môže jeden adaptér použiť vo viacerých profiloch. Tichý odchod udržiava protokol čitateľný a bráni búrke opakovaných pokusov proti sieti, ktorá zdroj nikdy neposkytne.
Overte, že sa úloha spúšťa v správnom okamihu
Dokážte časovanie, nie konfiguráciu. Nižšie uvedené príkazy ukazujú definíciu úlohy, nedávne udalosti sieťového profilu a to, či je zdroj dostupný z účtu, pod ktorým úloha beží. Spustite ich po skutočnom opätovnom pripojení, nie po ručnom spustení.
schtasks /query /tn "VpnPostConnect" /v /fo LIST
Get-WinEvent -LogName Microsoft-Windows-NetworkProfile/Operational -MaxEvents 10
Test-Path \\fileserver\share
whoami
Záznam v histórii úloh, ktorý existuje, kým nezodpovedá žiadna sieťová udalosť, znamená, že chybný je trigger, nie akcia. Ak sa udalosti objavia a úloha nie, úloha môže bežať pod účtom, ktorý zdroj nevidí, a výstup účtu je stopa. Kontrola zdroja, ktorá prejde, kým mapovanie stále chýba, ukazuje na kontext relácie, nie na konektivitu. Každé z týchto troch pozorovaní vedie k inej oprave.
Zapíšte jeden riadok protokolu na každé spustenie s adresou, výsledkom zdroja a výsledkom. Ďalšie zlyhanie potom ukáže, či úloha bežala skoro, bežala v nesprávnej sieti alebo nebežala vôbec.