Kas kaardistada ketas enne, kui VPN on valmis? Seo see serveriga
Sisselogimisskript kaardistab ühiskasutuse enne, kui tunnelil on marsruut. Kontrollige ühte serverit, mis vastab ainult selle kaudu, seejärel kaardistage kasutaja sessioonis ja logige tulemus.
Kettatäht ilmub sisselogimisel ja avaneb seejärel tühja kaustana või punase ristiga ja teatega kättesaamatu võrguressursi kohta. Õigused on tavaliselt korras. Juhtus see, et kaardistamiskäsk jooksis aknas, kus VPN-klient oli olemas, aga marsruuti failiserverini ei olnud, ja Windows salvestas selle ebaõnnestumise ketta olekuna. Lahendus on lõpetada kaardistamise käsitlemine millegi sisselogimisel juhtuvana ja käsitleda seda ühendusjärjestuse viimase sammuna.
Miks kaardistamine liiga vara jookseb
Sisselogimisskript algab siis, kui sessioon algab. Sisselogimise ajal ühenduv VPN-klient lisab selle peale oma ajajoone: protsess võib joosta, virtuaalne adapter võib olemas olla ja marsruut kontori alamvõrku võib veel puududa. Need kolm olekut näevad skripti vaatepunktist sarnased välja ja ainult üks neist töötab.
Mõned keskkonnad reageerivad nii, et kordavad igal sisselogimisel sama ebaõnnestunud rida, mis tekitab kasutaja, kes on õppinud ketast kaks korda klõpsama, ja skripti, mis pole kunagi ise õnnestunud.
Ketas ise teeb asja hullemaks. Kaardistatud ketas on sessiooni objekt, ja kui Windows on selle kättesaamatuks märkinud, võib ikoon jääda katki kaua pärast seda, kui tunnel on terve. Seepärast töötab käsitsi uuesti kaardistamine, samal ajal kui skript näib mitte midagi tegevat. Sessioon mäletab ebaõnnestumist, mitte selle taga olevat kavatsust.
Ühendatud olek ei ole marsruut
VPN-i ikoon süsteemisalves teatab, kas tunnel on üleval. See ei ütle midagi selle kohta, kas marsruut konkreetse serverini on olemas, kas DNS teisendab selle nime tunneli aadressiks, ega selle kohta, kas serveri enda tulemüür teid vastu võtab.
Need on kolm eraldi tõrget sama nähtava tulemusega, ja süsteemisalve ikoonist sõltumine sulatab need üheks ebausaldusväärseks signaaliks.
Valmiduskontroll, mis nimetab serveri, mida te tegelikult vajate eristab neid, sest see ebaõnnestub seni, kuni konkreetne tee töötab, mitte seni, kuni mõni liides teatab end olevat ühendatud.
Sõltuge serverist, mitte kliendist
Valige üks host, mis on kättesaadav ainult tunneli kaudu, ja oodake seda enne, kui midagi kaardistate. Allolev fragment ühendab salvestatud Windowsi VPN-kirje, küsib failiserverit ja seejärel kaardistab ketta.
@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 on valmidusandur, mitte õiguste test. Kui ICMP on teie võrgus filtreeritud, kontrollige selle asemel teenust, mida te tegelikult kasutate: net view \\%server% kiireks kontrolliks või lühike TCP-test pordi 445 vastu PowerShellis. Mõlemad seovad selle olulise asjaga.
Lisage piiratud arv katseid. Ootetsükkel ilma ülempiirita muudab katkise tunneli sessioks, mis ei lõpeta kunagi sisselogimist, ja see on hullem tugikõne kui puuduv kettatäht.
Tehke see korduskäivitatavaks ja sessiooniteadlikuks
Käivitage see kasutaja enda sessioonis. SYSTEM-ina töötav ülesanne paneb ketta täiesti teise sessiooni ja sisseloginud kasutaja ei näe tulemust kunagi. Nii saate skripti, mis teatab edust, ja töölaua, kus ketast pole.
Kontrollige enne kaardistamist ja eemaldage ainult vananenud kirje. net use Z: /delete tagastab vea, kui täht pole kasutusel, ja seda viga on ohutu eirata, mitte pidada põhjuseks ülejäänud skriptist loobuda. Jätke /persistent:no alles, et ebaõnnestunud katse ei muutuks hiljem püsivaks taasühendamiskatseks.
Ja ärge pange faili parooli. rasdial saab uuesti kasutada VPN-kirje jaoks salvestatud volitusi, ja ühiskasutus peaks autentima sisseloginud kasutajana. Kui ühiskasutus vajab tõesti teistsuguseid volitusi, registreerige need üks kord kasutaja kohta cmdkey abil, selle asemel et neid manustada batch-faili, mis elab sisselogimise ühiskasutuses. Igaüks, kes saab seda ühiskasutust lugeda, saab lugeda ka parooli, ja see muudab mugavuse juhtumiks.
Kogu skripti uuesti käivitamine peaks olema kahjutu, sest täpselt nii juhtubki. Kasutajad ühenduvad uuesti, sülearvutid ärkavad ja sama kooditee jookseb uuesti teistsuguse algolekuga.
Logige piisavalt, et tõestada, kumb pool hilines
Kirjutage ajatempel, valmiduskontrolli tulemus ja kaardistamise väljumiskood faili kasutajaprofiili all. Kui saabub järgmine teade puuduva ketta kohta, vastab see logi ainsale olulisele küsimusele: kas tunnel jõudis hilja või keeldus ühiskasutus?
Ilma selleta uuritakse iga kordus nullist ja tavaline järeldus on õiguste muudatus, mis ei paranda midagi.
Testige järjestust üks kord külmkäivitusest ja üks kord unest. Ärkamise juhtum on koht, kus järjekord kõige sagedamini katkeb, sest sessioon jätkub enne võrku ja skript näeb masinat, mis on sisse logitud juba tunde.