Ĉu mapi la diskon antaŭ ol la VPN pretas? Fiksu ĝin al la servilo
Ensaluta skripto mapas la kunhavigon antaŭ ol la tunelo havas itineron. Provu unu servilon, kiu respondas nur tra ĝi, poste mapu en la seanco de la uzanto kaj registru la rezulton.
La diska litero aperas ĉe ensaluto kaj poste malfermiĝas kiel malplena dosierujo, aŭ kun ruĝa kruco kaj mesaĝo pri nedisponebla reta rimedo. La permesoj kutime estas en ordo. Okazis, ke la mapa komando ruliĝis en la fenestro, kiam la VPN-kliento ekzistis sed ne estis itinero al la dosieroservilo, kaj Windows registris tiun malsukceson kiel la staton de la disko. La solvo estas ĉesi trakti la mapadon kiel ion, kio okazas ĉe ensaluto, kaj trakti ĝin kiel la lastan paŝon de konekta sinsekvo.
Kial la mapado ruliĝas tro frue
Ensaluta skripto komenciĝas, kiam komenciĝas la seanco. VPN-kliento, kiu konektiĝas dum ensaluto, aldonas sian propran templinion supre: la procezo povas ruliĝi, la virtuala adaptilo povas ekzisti, kaj la itinero al la oficeja subreto povas ankoraŭ manki. Tiuj tri statoj aspektas same el la vidpunkto de skripto, kaj nur unu el ili funkcias.
Kelkaj medioj reagas per ripetado de la sama malsukcesa linio ĉe ĉiu ensaluto, kio produktas uzanton, kiu lernis duoble klaki la diskon, kaj skripton, kiu neniam sukcesis sola.
La disko mem plimalbonigas tion. Mapita disko estas seanca objekto, kaj post kiam Windows markis ĝin kiel nedisponebla, la ikono povas resti rompita longe post kiam la tunelo sanas. Tial remapado permane funkcias, dum la skripto ŝajnas fari nenion. La seanco memoras la malsukceson, ne la intencon malantaŭ ĝi.
Konektita stato ne estas itinero
La VPN-ikono en la sistemujo raportas, ĉu la tunelo staras. Ĝi diras nenion pri tio, ĉu ekzistas itinero al difinita servilo, ĉu DNS tradukas tiun nomon al la tunela adreso, nek ĉu la propra fajroŝirmilo de la servilo akceptas vin.
Tio estas tri apartaj fiaskoj kun la sama videbla rezulto, kaj dependigi de la sistemuja ikono kunfandas ilin en unu nefidindan signalon.
Pretiga kontrolo, kiu nomas la servilon, kiun vi vere bezonas distingas ilin, ĉar ĝi malsukcesas ĝis la konkreta vojo funkcias, kaj ne ĝis iu ajn interfaco raportas sin kiel konektita.
Fiksu al la servilo, ne al la kliento
Elektu unu gastigan komputilon atingeblan nur tra la tunelo kaj atendu ĝin antaŭ ol mapi ion ajn. La suba fragmento konektas konservitan Windows-VPN-eron, provas la dosieroservilon kaj poste mapas la diskon.
@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 estas pretiga sondilo, ne permesa testado. Se ICMP estas filtrita en via reto, anstataŭe provu la servon, kiun vi efektive uzas: net view \\%server% por rapida kontrolo, aŭ mallonga TCP-testo kontraŭ haveno 445 en PowerShell. Ambaŭ dependas de la afero, kiu gravas.
Aldonu limigitan nombron da provoj. Atendociklo sen plafono ŝanĝas rompitan tunnelon en seancon, kiu neniam finas ensaluti, kaj tio estas pli malbona subtena voko ol mankanta diska litero.
Faru ĝin re-ruligebla kaj seanc-konscia
Rulu ĝin ene de la propra seanco de la uzanto. Tasko, kiu ruliĝas kiel SYSTEM, metas la diskon en tute alian seancon, kaj la ensalutinta uzanto neniam vidas la rezulton. Tio donas al vi skripton, kiu raportas sukceson, kaj labortablon sen disko.
Kontrolu antaŭ ol mapi, kaj forigu nur la malnovan eron. net use Z: /delete redonas eraron, kiam la litero ne estas uzata, kaj tiu eraro estas sekura ignori anstataŭ esti kialo forlasi la reston de la skripto. Konservu /persistent:no, por ke malsukcesa provo ne fariĝu poste daŭra rekonekta provo.
Kaj ne metu pasvorton en la dosieron. rasdial povas reuzi legitimilojn konservitajn por la VPN-ero, kaj la kunhavigo devus aŭtentigi kiel la ensalutinta uzanto. Se la kunhavigo vere bezonas aliajn legitimilojn, registru ilin unufoje por uzanto per cmdkey anstataŭ enmeti ilin en batch-dosieron, kiu loĝas sur ensaluta kunhavigo. Iu ajn, kiu povas legi tiun kunhavigon, povas legi la pasvorton, kaj tio ŝanĝas oportunon en incidenton.
Re-rulado de la tuta skripto devus esti sendanĝera, ĉar ĝuste tion okazos. Uzantoj rekonektiĝas, tekkomputiloj vekiĝas, kaj la sama koda vojo ruliĝas denove kun alia komenca stato.
Registru sufiĉe por pruvi, kiu duono malfruis
Skribu la tempomarkon, la pretigan rezulton kaj la elirkodon de la mapado en dosieron sub la uzanta profilo. Kiam venos la sekva raporto pri mankanta disko, tiu protokolo respondas la solan gravan demandon: ĉu la tunelo alvenis malfrue, aŭ ĉu la kunhavigo rifuzis?
Sen ĝi, ĉiu ripetiĝo estas esplorata de nulo, kaj la kutima konkludo estas permesa ŝanĝo, kiu riparas nenion.
Testu la sinsekvon unufoje post malvarma ekstarto kaj unufoje post dormo. La vekiĝa kazo estas tiu, kie la ordo plej ofte rompiĝas, ĉar la seanco rekomenciĝas antaŭ la reto kaj la skripto vidas maŝinon, kiu ensalutis antaŭ horoj.