Shkronja e diskut shfaqet në hyrje dhe pastaj hapet si një dosje bosh, ose me një kryq të kuq dhe një mesazh për një burim rrjeti të padisponueshëm. Lejet zakonisht janë në rregull. Ajo që ndodhi është se komanda e mapimit u ekzekutua në dritaren kur klienti VPN ekzistonte, por nuk kishte rrugë drejt serverit të skedarëve, dhe Windows e regjistroi atë dështim si gjendjen e diskut. Zgjidhja është të ndalosh trajtimin e mapimit si diçka që ndodh në hyrje dhe ta trajtosh atë si hapin e fundit të një sekuence lidhjeje.

Pse mapimi ekzekutohet shumë herët

Një skript hyrjeje fillon kur fillon sesioni. Një klient VPN që lidhet gjatë hyrjes shton linjën e vet kohore sipër: procesi mund të jetë duke punuar, përshtatësi virtual mund të ekzistojë, dhe rruga drejt nënrrjetit të zyrës mund të mungojë ende. Këto tre gjendje duken njësoj nga këndvështrimi i një skripti dhe vetëm njëra prej tyre funksionon.

Disa mjedise përgjigjen duke përsëritur të njëjtën rresht që dështon në çdo hyrje, gjë që prodhon një përdorues që ka mësuar të klikojë dy herë mbi diskun dhe një skript që nuk ka pasur kurrë sukses vetë.

Disku vetë e përkeqëson gjendjen. Një disk i mapuar është një objekt sesioni, dhe pasi Windows e ka shënuar si të padisponueshëm, ikona mund të mbetet e prishur shumë kohë pasi tuneli të jetë i shëndetshëm. Kjo është arsyeja pse rimapimi me dorë funksionon ndërsa skripti duket se nuk bën asgjë. Sesioni e mban mend dështimin, jo qëllimin pas tij.

Gjendja e lidhur nuk është rrugë

Ikona e VPN në shiritin e sistemit raporton nëse tuneli është lart. Ajo nuk thotë asgjë për atë nëse ekziston një rrugë drejt një serveri të caktuar, a e zgjidh DNS atë emër në adresën e tunelit, ose a ju pranon firewalls i vetë serverit.

Këto janë tre dështime të ndara me të njëjtin rezultat të dukshëm, dhe kushtëzimi nga ikona e shiritit i shkrin ato në një sinjal të vetëm jo të besueshëm.

Një kontroll gatishmërie që emërton serverin që ju nevojitet vërtet i dallon ato, sepse dështon derisa të funksionojë rruga konkrete, dhe jo derisa ndonjë ndërfaqe të deklarojë veten të lidhur.

Kushtëzoje nga serveri, jo nga klienti

Zgjidh një host që arrihet vetëm përmes tunelit dhe prit për atë përpara se të maposh çdo gjë. Fragmenti më poshtë lidh një zë VPN të ruajtur të Windows, kontrollon serverin e skedarëve dhe pastaj mapon diskun.

@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 është një sondë gatishmërie, jo një test lejesh. Nëse ICMP filtrohet në rrjetin tuaj, kontrollo në vend të tij shërbimin që përdorni vërtet: net view \\%server% për një kontroll të shpejtë, ose një test të shkurtër TCP në portën 445 në PowerShell. Secili prej tyre e kushtëzon atë që ka rëndësi.

Shto një numër të kufizuar përpjekjesh. Një cikël pritjeje pa tavan e kthen një tunel të prishur në një sesion që nuk e përfundon kurrë hyrjen, dhe ai është një telefonatë mbështetjeje më e keqe se një shkronjë disku që mungon.

Bëje të riekzekutueshëm dhe të ndërgjegjshëm për sesionin

Ekzekutoje brenda sesionit të vetë përdoruesit. Një detyrë që ekzekutohet si SYSTEM e vendos diskun në një sesion krejt tjetër, dhe përdoruesi i hyrur nuk e sheh kurrë rezultatin. Kështu merrni një skript që raporton sukses dhe një desktop pa disk.

Kontrollo përpara se të maposh dhe hiq vetëm zërin e vjetëruar. net use Z: /delete kthen një gabim kur shkronja nuk është në përdorim, dhe ai gabim është i sigurt të injorohet në vend që të jetë arsye për të hequr dorë nga pjesa tjetër e skriptit. Mbaj /persistent:no që një përpjekje e dështuar të mos bëhet më vonë një përpjekje e përhershme rilidhjeje.

Dhe mos vendos një fjalëkalim në skedar. rasdial mund të ripërdorë kredencialet e ruajtura për zërin VPN, dhe ndarja duhet të autentifikohet si përdoruesi i hyrur. Nëse ndarja ka vërtet nevojë për kredenciale të tjera, regjistroji ato një herë për përdorues me cmdkey në vend që t'i futësh në një skedar batch që jeton në një ndarje hyrjeje. Kushdo që mund të lexojë atë ndarje mund të lexojë edhe fjalëkalimin, dhe kjo e kthen një komoditet në një incident.

Riekzekutimi i të gjithë skriptit duhet të jetë i padëmshëm, sepse pikërisht kjo do të ndodhë. Përdoruesit rilidhen, laptopët zgjohen, dhe e njëjta rrugë kodi ekzekutohet përsëri me një gjendje fillestare të ndryshme.

Regjistro mjaftueshëm për të provuar cila gjysmë erdhi vonë

Shkruaj vulën kohore, rezultatin e kontrollit të gatishmërisë dhe kodin e daljes së mapimit në një skedar nën profilin e përdoruesit. Kur të vijë raporti i radhës për një disk që mungon, ai regjistër i përgjigjet pyetjes së vetme që ka rëndësi: a erdhi tuneli vonë, apo ndarja refuzoi?

Pa atë, çdo përsëritje hetohet nga zero, dhe përfundimi i zakonshëm është një ndryshim lejeje që nuk rregullon asgjë.

Testo sekuencën një herë nga një nisje e ftohtë dhe një herë nga gjumi. Rasti i zgjimit është ai ku rendi prishet më shpesh, sepse sesioni rifillon përpara rrjetit dhe skripti sheh një makinë që ka qenë e hyrur për orë të tëra.

Artikuj të ngjashëm