Да се мапира дискот пред VPN да биде подготвен? Условете го на серверот
Скриптата за најава го мапира споделувањето пред тунелот да има рута. Проверете еден сервер што одговара само преку него, потоа мапирајте во сесијата на корисникот и забележете го резултатот.
Буквата на дискот се појавува при најава и потоа се отвора како празна папка, или со црвен крст и порака за недостапен мрежен ресурс. Дозволите обично се во ред. Она што се случи е дека командата за мапирање се изврши во прозорецот кога VPN клиентот постоеше, но немаше рута до серверот за датотеки, и Windows го забележа тој неуспех како состојба на дискот. Решението е да престанете да го третирате мапирањето како нешто што се случува при најава и да го третирате како последен чекор од низата за поврзување.
Зошто мапирањето се извршува премногу рано
Скриптата за најава започнува кога започнува сесијата. VPN клиент што се поврзува за време на најавата додава своја временска линија врз тоа: процесот може да работи, виртуелниот адаптер може да постои, а рутата до канцелариската подмрежа може сè уште да недостасува. Овие три состојби изгледаат исто од гледна точка на скрипта и само една од нив работи.
Некои средини реагираат со повторување на истата неуспешна линија при секоја најава, што создава корисник што научил да кликне на дискот двапати и скрипта што никогаш не успеала сама.
Самиот диск го влошува ова. Мапиран диск е објект на сесијата, и откако Windows го означи како недостапен, иконата може да остане расипана долго откако тунелот е здрав. Затоа рачното повторно мапирање работи додека скриптата изгледа како да не прави ништо. Сесијата го памети неуспехот, не намерата зад него.
Статусот поврзано не е патека
VPN иконата во системската лента известува дали тунелот е кренат. Таа не кажува ништо за тоа дали постои рута до одреден сервер, дали DNS го преведува тоа име во адресата на тунелот, или дали огнениот ѕид на самиот сервер ве прифаќа.
Тоа се три одделни дефекти со истиот видлив исход, а потпирањето на иконата во лентата ги спојува во еден несигурен сигнал.
Проверка на подготвеноста што го именува серверот што навистина ви треба ги разликува, бидејќи не успева сè додека не проработи конкретната патека, а не додека некој интерфејс не се пријави како поврзан.
Условете го на серверот, не на клиентот
Изберете еден домаќин достапен само преку тунелот и почекајте го пред да мапирате било што. Фрагментот подолу се поврзува со зачуван Windows VPN запис, го проверува серверот за датотеки и потоа го мапира дискот.
@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 е сонда за подготвеност, не тест за дозволи. Ако ICMP е филтриран на вашата мрежа, наместо тоа проверете ја услугата што навистина ја користите: net view \\%server% за брза проверка, или краток TCP тест на портата 445 во PowerShell. Секое од двете се потпира на она што е важно.
Додајте ограничен број обиди. Јамка за чекање без горна граница претвора расипан тунел во сесија што никогаш не завршува најавата, а тоа е полош повик за поддршка од буква на диск што недостасува.
Направете ја повторно извршлива и свесна за сесијата
Извршете ја во сесијата на самиот корисник. Задача што работи како SYSTEM го става дискот во сосема друга сесија, а најавениот корисник никогаш не го гледа резултатот. Така добивате скрипта што известува за успех и работна површина без диск.
Проверете пред мапирање и отстранете само застарениот запис. net use Z: /delete враќа грешка кога буквата не се користи, и таа грешка е безбедно да се игнорира, а не да биде причина да се откажете од остатокот од скриптата. Задржете /persistent:no за да не се претвори неуспешен обид подоцна во постојан обид за повторно поврзување.
И не ставајте лозинка во датотеката. rasdial може повторно да ги искористи акредитивите зачувани за VPN записот, а споделувањето треба да се автентицира како најавениот корисник. Ако на споделувањето навистина му требаат други акредитиви, регистрирајте ги еднаш по корисник со cmdkey наместо да ги вградите во batch датотека што живее на споделување за најава. Секој што може да го чита тоа споделување може да ја прочита и лозинката, а тоа претвора удобност во инцидент.
Повторното извршување на целата скрипта треба да биде безопасно, бидејќи токму тоа ќе се случи. Корисниците повторно се поврзуваат, преносните сметачи се будат, и истата кодна патека повторно се извршува со друга почетна состојба.
Забележете доволно за да докажете која половина задоцни
Запишете ја временската ознака, резултатот од проверката на подготвеноста и излезниот код од мапирањето во датотека под корисничкиот профил. Кога ќе пристигне следниот извештај за диск што недостасува, тој дневник одговара на единственото важно прашање: дали тунелот пристигна доцна или споделувањето одби?
Без тоа, секое повторување се истражува од нула, а вообичаениот заклучок е промена на дозволи што ништо не поправа.
Тестирајте ја низата еднаш од студено подигање и еднаш од спиење. Случајот на будење е местото каде што редоследот најчесто се крши, бидејќи сесијата продолжува пред мрежата и скриптата гледа машина што е најавена со часови.