Kartlegg stasjonen før VPN er klar? Gjer det avhengig av tenaren
Eit påloggingsskript kartlegg delinga før tunnelen har ei rute. Sjekk éin tenar som berre svarar gjennom han, kartlegg deretter i økta til brukaren og logg resultatet.
Stasjonsbokstaven dukkar opp ved pålogging og opnar seg deretter som ei tom mappe, eller med eit raudt kryss og ei melding om ein utilgjengeleg nettverksressurs. Løyva er vanlegvis i orden. Det som skjedde, er at kartleggingskommandoen køyrde i vindauget der VPN-klienten fanst, men det var inga rute til filtenaren, og Windows registrerte den feilen som tilstanden til stasjonen. Løysinga er å slutte å handsame kartlegginga som noko som skjer ved pålogging, og handsame ho som det siste trinnet i ein tilkoplingssekvens.
Kvifor kartlegginga køyrer for tidleg
Eit påloggingsskript startar når økta startar. Ein VPN-klient som koplar til under pålogging, legg si eiga tidslinje oppå: prosessen kan køyre, den virtuelle adapteren kan finnast, og ruta til kontoret sitt subnett kan framleis mangle. Desse tre tilstandane ser like ut frå ein skript sin ståstad, og berre éin av dei verkar.
Nokre miljø reagerer med å gjenta den same feilande linja ved kvar pålogging, noko som gir ein brukar som har lært å klikke to gonger på stasjonen, og eit skript som aldri har lukkast åleine.
Sjølve stasjonen gjer det verre. Ein kartlagd stasjon er eit øktobjekt, og når Windows først har merkt han som utilgjengeleg, kan ikonet bli verande øydelagt lenge etter at tunnelen er sunn. Difor verkar det å kartleggje på nytt manuelt, medan skriptet ser ut til ikkje å gjere noko. Økta hugsar feilen, ikkje føremålet bak han.
Statusen tilkopla er ikkje ei rute
VPN-ikonet i systemkurven fortel om tunnelen er oppe. Det seier ingenting om det finst ei rute til ein bestemd tenar, om DNS løyser opp det namnet til tunneladressa, eller om brannmuren til tenaren sjølv slepp deg inn.
Det er tre separate feil med same synlege resultat, og gjer ein ikonet i systemkurven til vilkåret, smeltar dei saman til eitt upåliteleg signal.
Ein beredskapskontroll som namngir tenaren du faktisk treng skil dei, fordi han feilar heilt til den konkrete ruta verkar, og ikkje til eit eller anna grensesnitt melder seg som tilkopla.
Gjer tenaren til vilkåret, ikkje klienten
Vel éin vert som berre er tilgjengeleg gjennom tunnelen, og vent på han før du kartlegg noko. Utdraget nedanfor koplar til ein lagra Windows VPN-oppføring, sjekkar filtenaren og kartlegg deretter stasjonen.
@echo off
set server=fileserver.corp.example
rasdial "Office VPN" /disconnect
rasdial "Office VPN"
:wait
ping -n 1 -w 1000 %server% >nul || (
timeout /t 5 /nobreak >nul
goto wait
)
net use Z: \\%server%\share /persistent:no
Ping er ein beredskapsprobe, ikkje ein løyvetest. Viss ICMP blir filtrert på nettverket ditt, sjekk i staden tenesta du faktisk brukar: net view \\%server% for ein rask kontroll, eller ein kort TCP-test mot port 445 i PowerShell. Båe gjer det som betyr noko, til vilkåret.
Legg til eit avgrensa tal forsøk. Ei venteløkke utan tak gjer ein øydelagd tunnel til ei økt som aldri blir ferdig med å logge på, og det er ein verre støttesamtale enn ein manglande stasjonsbokstav.
Gjer han køyrbar på nytt og øktmedviten
Køyr han inne i økta til brukaren sjølv. Ei oppgåve som køyrer som SYSTEM, plasserer stasjonen i ei heilt anna økt, og den pålogga brukaren ser aldri resultatet. Det gir deg eit skript som rapporterer suksess, og eit skrivebord utan stasjon.
Sjekk før du kartlegg, og fjern berre den utdaterte oppføringa. net use Z: /delete returnerer ein feil når bokstaven ikkje er i bruk, og den feilen er trygg å ignorere i staden for å vere grunn til å gje opp resten av skriptet. Hald på /persistent:no slik at eit mislukka forsøk ikkje seinare blir eit permanent gjenoppkoplingsforsøk.
Og ikkje legg eit passord i fila. rasdial kan bruke påloggingsinformasjonen som er lagra for VPN-oppføringa, på nytt, og delinga bør autentisere som den pålogga brukaren. Viss delinga verkeleg treng annan påloggingsinformasjon, registrer han éin gong per brukar med cmdkey i staden for å byggje han inn i ei batchfil som ligg på ei påloggingsdeling. Alle som kan lese den delinga, kan lese passordet, og det gjer ei bekvemmelegheit til ei hending.
Å køyre heile skriptet på nytt bør vere ufarleg, for det er nettopp det som vil skje. Brukarar koplar til på nytt, berebære maskinar vaknar, og den same kodebana blir køyrd igjen med ein annan starttilstand.
Logg nok til å prove kva halvdel som var sein
Skriv tidsstempelet, beredskapsresultatet og utgangskoden til kartlegginga til ei fil under brukarprofilen. Når den neste rapporten om ein manglande stasjon kjem, svarar den loggen på det einaste spørsmålet som betyr noko: kom tunnelen for seint, eller avviste delinga?
Utan det blir kvar gjentaking granska frå botnen, og den vanlege konklusjonen er ei løyveendring som ikkje rettar noko.
Test sekvensen éin gong frå ein kald oppstart og éin gong frå dvale. Vaknetilfellet er der rekkjefølgja oftast bryt saman, fordi økta blir gjenoppteken før nettverket gjer det, og skriptet ser ein maskin som har vore pålogga i timar.