Kirjautumisskripti, joka yhdistää aseman tai käynnistää synkronointityön, suoritetaan ennen kuin tunnelilla on osoite, joten se epäonnistuu hiljaa ja käyttäjä korjaa sen käsin joka aamu. Windows ei tarjoa useimmille asiakkaille VPN-kohtaista yhteyspalautusta, mutta se kirjaa verkon muutoksen, ja tuo tietue voi käynnistää työn oikealla hetkellä. Valinta on sen välillä, että reagoidaan tietueeseen, kysellään resurssia tai poistetaan kehote, joka teki epäonnistumisen näkyväksi.

Kolmen mekanismin vertaaminen sen mukaan, mitä ne takaavat, on parempi kuin niiden järjestäminen eleganssin mukaan. Kukin epäonnistuu eri tavalla, ja epäonnistumistila on se, jonka kanssa elät jälkeenpäin.

Miksi kirjautuminen käynnistyy liian aikaisin

Kirjautuminen ja käynnistys suoritetaan ennen kuin VPN-sovitin saa osoitteensa, joten sillä hetkellä yritetyllä asemayhdistyksellä, sisäisellä URL-osoitteella tai tietokantayhteydellä ei ole reittiä eikä selvittäjää. Pyyntö epäonnistuu, ja istunto jää tilaan, jonka käyttäjän on korjattava käsin. Saman skriptin siirtäminen käynnistyskansioon ei muuta mitään, koska järjestysongelma kulkee sen mukana. Liipaisimen on oltava verkon muutos eikä istunnon tapahtuma.

Kirjautumisen yhteyteen mielivaltaisella viiveellä ajastettu tehtävä näyttää korjaukselta ja on oikeastaan arvaus. Se toimii nopealla yhteydellä ja epäonnistuu hitaalla, mikä on hyödyttömin luotettavuuden muoto.

Kolme koukkua vertailussa

Mekanismit eroavat siinä, mitä ne tarkkailevat, kuinka nopeasti ne reagoivat ja mitä ne tekevät myöhemmin päivällä tapahtuvalle uudelleenyhdistämiselle. Taulukko vertaa niitä näillä kolmella kohdalla, ei siinä, kuinka älykkäältä kukin kuulostaa.

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

Lue taulukkoa rivi riviltä. Tapahtumakoukku on nopein ja meluisin, koska Windows kirjaa jokaisen verkon, myös kahvilan Wi-Fi-verkon, joten toiminnon on varmistettava resurssi ennen kuin se tekee mitään. Kysely on hitaampi ja tarkempi, koska se onnistuu täsmälleen silloin, kun jako tai isäntänimi vastaa, eikä se tarvitse tietoa siitä, mikä asiakasohjelma on asennettu. Tallennetut valtuustiedot eivät ole lainkaan kilpaileva vaihtoehto: ne poistavat salasanakehotteen, mikä on toinen ja riippumaton syy siihen, miksi kirjautumisen aikainen yhdistäminen epäonnistuu.

Kahden ensimmäisen välinen valinta riippuu siitä, onko asiakkaalla käyttökelpoinen tapahtuma. Jos on, tapahtuma ja resurssin tarkistus on parempi oletus.

Rakenna tapahtumaliipaisin oikein

Tietue sijaitsee lokissa Microsoft-Windows-NetworkProfile/Operational, ja ID 10001 merkitsee verkkoa, joka juuri yhdistyi. Luo tehtävä Tapahtuman yhteydessä -liipaisimella, joka kohdistuu tuohon lokiin, tuohon palveluntarjoajan nimeen ja tuohon tunnisteeseen. Jokainen verkko, johon kone liittyy, laukaisee sen, joten toiminto tarvitsee vartioehdon eikä oletusta, ja jos työ koskee yhdistettyjä asemia, sen pitäisi suorittua vain käyttäjän ollessa kirjautuneena.

Vartioehdon pitäisi testata sitä, mitä tehtävä todella tarvitsee, kuten jakopolkua tai palveluporttia, ja poistua hiljaa, kun se ei ole tavoitettavissa. Sovittimen nimen testaaminen ei riitä, koska asiakasohjelma voi käyttää yhtä sovitinta useissa profiileissa. Hiljainen poistuminen pitää lokin luettavana ja estää uudelleenyritysten myrskyn verkkoa vastaan, joka ei koskaan tarjoa resurssia.

Testaa, että tehtävä suoritetaan oikealla hetkellä

Todista ajoitus, älä kokoonpano. Alla olevat komennot näyttävät tehtävän määrityksen, viimeisimmät verkkoprofiilin tapahtumat ja sen, onko resurssi tavoitettavissa siltä tililtä, jonka alla tehtävä suoritetaan. Suorita ne aidon uudelleenyhdistämisen jälkeen, älä manuaalisen käynnistyksen jälkeen.

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

Tehtävän historian merkintä, joka on olemassa, kun mikään verkkotapahtuma ei osu kohdalleen, tarkoittaa, että liipaisin on väärä eikä toiminto. Jos tapahtumat näkyvät eikä tehtävä käynnisty, tehtävä saattaa suorittua tilillä, joka ei näe resurssia, ja tilin tuloste on vihje. Resurssin tarkistus, joka menee läpi, kun yhdistäminen vielä puuttuu, viittaa istunnon kontekstiin eikä yhteyteen. Jokainen noista kolmesta havainnosta vie sinut eri korjaukseen.

Kirjoita yksi lokirivi jokaista suoritusta kohden osoitteen, resurssin tuloksen ja lopputuloksen kanssa. Seuraava epäonnistuminen näyttää silloin, suorittuiko tehtävä aikaisin, väärässä verkossa vai ei lainkaan.

Aiheeseen liittyvät artikkelit