Kör en uppgift när VPN ansluter: händelse, avfrågning eller inloggningsuppgift?
Ett inloggningsskript körs innan tunneln finns. Jämför en nätverkshändelsetrigger, en resursavfrågning och sparade inloggningsuppgifter efter vad var och en garanterar.
Ett inloggningsskript som mappar en enhet eller startar ett synkroniseringsjobb körs innan tunneln har en adress, så det misslyckas tyst och användaren reparerar det för hand varje morgon. Windows erbjuder inte de flesta klienter någon återkallelse per VPN-anslutning, men det loggar nätverksändringen, och den posten kan starta arbetet i rätt ögonblick. Valet står mellan att reagera på den posten, att avfråga resursen och att ta bort uppmaningen som gjorde felet synligt.
Att jämföra de tre mekanismerna efter vad de garanterar är bättre än att rangordna dem efter elegans. Var och en misslyckas olika, och felet är det du lever med efteråt.
Varför inloggningen startar för tidigt
Inloggning och start körs innan VPN-adaptern får sin adress, så en enhetsmappning, en intern URL eller en databasanslutning som försöks i det ögonblicket har varken rutt eller upplösare. Begäran misslyckas, och sessionen lämnas i ett tillstånd som användaren måste reparera manuellt. Att flytta samma skript till startmappen ändrar ingenting, eftersom ordningsproblemet följer med. Triggern måste vara en nätverksändring och inte en sessionshändelse.
En schemalagd uppgift vid inloggning med en godtycklig fördröjning ser ut som en åtgärd och är egentligen en gissning. Den fungerar på en snabb länk och misslyckas på en långsam, vilket är den minst användbara typen av tillförlitlighet.
Tre krokar jämförda
Mekanismerna skiljer sig i vad de observerar, hur snabbt de reagerar och vad de gör vid en återanslutning senare på dagen. Tabellen jämför dem på dessa tre punkter och inte på hur smart varje låter.
| 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 |
Läs tabellen rad för rad. Händelsekroken är snabbast och mest högljudd, eftersom Windows registrerar varje nätverk, inklusive kaféets Wi-Fi, så åtgärden måste verifiera resursen innan den gör något. Avfrågningen är långsammare och mer exakt, eftersom den lyckas precis när delningen eller värdnamnet svarar, och den behöver inte veta vilken klient som är installerad. Sparade inloggningsuppgifter är inte alls ett konkurrerande alternativ: de tar bort lösenordsuppmaningen, vilket är en andra och oberoende anledning till att en mappning vid inloggning misslyckas.
Valet mellan de två första beror på om det finns en användbar händelse på klienten. Där det finns är en händelse plus en resurskontroll det bättre standardvalet.
Bygg händelsetriggern rätt
Posten finns i loggen Microsoft-Windows-NetworkProfile/Operational, och ID 10001 markerar ett nätverk som just anslöt. Skapa uppgiften med en Vid en händelse-trigger riktad mot den loggen, det leverantörsnamnet och den identifieraren. Varje nätverk som datorn ansluter till utlöser den, så åtgärden behöver en skyddsklausul och inte ett antagande, och den bör bara köras medan användaren är inloggad om arbetet rör mappade enheter.
Skyddsklausulen bör testa vad uppgiften faktiskt behöver, som en delningssökväg eller en tjänstport, och avsluta tyst när den inte går att nå. Att testa adapternamnet räcker inte, eftersom en klient kan återanvända en adapter över flera profiler. En tyst avslutning håller loggen läsbar och förhindrar en storm av nya försök mot ett nätverk som aldrig kommer att leverera resursen.
Testa att uppgiften körs i rätt ögonblick
Bevisa tidpunkten och inte konfigurationen. Kommandona nedan visar uppgiftsdefinitionen, de senaste nätverksprofilhändelserna och om resursen är nåbar från kontot som uppgiften körs under. Kör dem efter en riktig återanslutning och inte efter en manuell start.
schtasks /query /tn "VpnPostConnect" /v /fo LIST
Get-WinEvent -LogName Microsoft-Windows-NetworkProfile/Operational -MaxEvents 10
Test-Path \\fileserver\share
whoami
En uppgiftshistorikpost som finns medan ingen nätverkshändelse stämmer betyder att triggern är fel och inte åtgärden. Om händelserna visas och uppgiften inte körs kan uppgiften köra under ett konto som inte ser resursen, och kontots utdata är ledtråden. En resurskontroll som går igenom medan mappningen fortfarande saknas pekar på sessionskontexten och inte på anslutningen. Var och en av de tre observationerna leder till olika åtgärder.
Skriv en logglinje per körning med adressen, resursresultatet och utfallet. Nästa fel visar då om uppgiften kördes tidigt, kördes på fel nätverk eller inte kördes alls.