VPN дайын болмай тұрып дискіні қосу? Оны серверге тәуелді етіңіз
Кіру скрипті туннельде маршрут болмай тұрып желілік буманы қосады. Тек сол арқылы ғана жауап беретін бір серверді тексеріңіз, содан кейін пайдаланушы сессиясында қосып, нәтижені журналға жазыңыз.
Диск әрпі кіру кезінде пайда болып, содан кейін бос қалта ретінде ашылады, немесе қызыл крест пен қолжетімсіз желілік ресурс туралы хабарламамен ашылады. Рұқсаттар әдетте ретінде. Болған жайт — қосу командасы VPN клиенті бар, бірақ файл серверіне маршрут жоқ терезеде орындалды, және Windows бұл сәтсіздікті дискінің күйі ретінде жазып қойды. Шешім — қосуды кіру кезінде болатын нәрсе деп қарауды доғарып, оны қосылу тізбегінің соңғы қадамы ретінде қарау.
Неліктен қосу тым ерте орындалады
Кіру скрипті сессия басталғанда басталады. Кіру кезінде қосылатын VPN клиенті өзінің уақыт сызығын үстіне қосады: процесс жұмыс істеп тұруы мүмкін, виртуалды адаптер болуы мүмкін, ал кеңсе ішкі желісіне маршрут әлі жетіспеуі мүмкін. Бұл үш күй скрипт тұрғысынан бірдей көрінеді және олардың тек біреуі жұмыс істейді.
Кейбір орталар әр кіруде сол сәтсіз жолды қайталаумен жауап береді, бұл дискіні екі рет басуға үйренген пайдаланушыны және өздігінен ешқашан сәтті болмаған скриптті тудырады.
Дискінің өзі мұны нашарлатады. Қосылған диск — сессия нысаны, және Windows оны қолжетімсіз деп белгілегеннен кейін, туннель сау болғаннан кейін де белгіше ұзақ уақыт бүлінген күйде қалуы мүмкін. Сондықтан қолмен қайта қосу жұмыс істейді, ал скрипт ештеңе істемейтін сияқты көрінеді. Сессия сәтсіздікті есте сақтайды, оның артындағы ниетті емес.
Қосылған күй — маршрут емес
Жүйелік науадағы VPN белгішесі туннельдің көтерілгенін хабарлайды. Ол белгілі бір серверге маршруттың бар-жоғын, DNS сол атауды туннель мекенжайына шешетінін, немесе сервердің өз firewall-ы сізді қабылдайтынын айтпайды.
Бұл көрінетін нәтижесі бірдей үш бөлек сәтсіздік, және науа белгішесіне сүйену оларды бір сенімсіз сигналға айналдырады.
Сізге шынымен қажет серверді атайтын дайындық тексерісі оларды ажыратады, өйткені ол нақты жол жұмыс істегенше сәтсіз болады, қандай да бір интерфейс өзін қосылған деп жариялағанша емес.
Клиентке емес, серверге тәуелді болыңыз
Тек туннель арқылы ғана қолжетімді бір хост таңдап, бірдеңе қоспас бұрын оны күтіңіз. Төмендегі үзінді сақталған 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%, немесе PowerShell-де 445 портына қарсы қысқа TCP тесті. Екеуі де маңызды нәрсеге тәуелді.
Шектеулі әрекет санын қосыңыз. Шегі жоқ күту циклі бүлінген туннельді кіруді ешқашан аяқтамайтын сессияға айналдырады, және бұл жоғалған диск әрпінен де нашар қолдау қоңырауы.
Оны қайта іске қосылатын және сессияны сезінетін етіңіз
Оны пайдаланушының өз сессиясында іске қосыңыз. SYSTEM ретінде жұмыс істейтін тапсырма дискіні мүлде басқа сессияға қояды, және кірген пайдаланушы нәтижені ешқашан көрмейді. Осылайша сіз табыс туралы хабарлайтын скрипт пен дискісіз жұмыс үстелін аласыз.
Қоспас бұрын тексеріңіз және тек ескірген жазбаны жойыңыз. Әріп пайдаланылмаған кезде net use Z: /delete қате қайтарады, және бұл қатені елемеу қауіпсіз, скрипттің қалғанынан бас тартуға себеп емес. /persistent:no сақтаңыз, сәтсіз әрекет кейін тұрақты қайта қосылу әрекетіне айналмас үшін.
Және файлға құпия сөз салмаңыз. rasdial VPN жазбасы үшін сақталған тіркелгі деректерін қайта пайдалана алады, және желілік бума кірген пайдаланушы ретінде аутентификациялануы керек. Егер бумаға шынымен басқа тіркелгі деректері қажет болса, оларды кіру бумасында жатқан batch файлына енгізудің орнына cmdkey арқылы әр пайдаланушыға бір рет тіркеңіз. Сол буманы оқи алатын кез келген адам құпия сөзді де оқи алады, және бұл ыңғайлылықты оқиғаға айналдырады.
Бүкіл скриптті қайта іске қосу зиянсыз болуы керек, өйткені дәл сол болады. Пайдаланушылар қайта қосылады, ноутбуктер оянады, және сол код жолы басқа бастапқы күймен қайта орындалады.
Қай жартысы кешіккенін дәлелдеу үшін жеткілікті журнал жазыңыз
Уақыт белгісін, дайындық тексерісінің нәтижесін және қосудың шығу кодын пайдаланушы профилінің астындағы файлға жазыңыз. Жоғалған диск туралы келесі хабарлама келгенде, сол журнал жалғыз маңызды сұраққа жауап береді: туннель кеш келді ме, әлде бума бас тартты ма?
Онсыз әр қайталану нөлден тексеріледі, және әдеттегі қорытынды — ештеңені түзетпейтін рұқсат өзгерісі.
Тізбекті бір рет суық қосылудан және бір рет ұйқыдан сынап көріңіз. Ояну жағдайы — тәртіп ең жиі бұзылатын жер, өйткені сессия желіден бұрын жалғасады және скрипт сағаттар бұрын кірген машинаны көреді.