Скрыпт уваходу, які падключае дыск або запускае заданне сінхранізацыі, выконваецца раней, чым тунель атрымае адрас, таму ён ціха збіваецца, і карыстальнік кожную раніцу выпраўляе ўсё ўручную. Windows не прапануе большасці кліентаў зваротнага выкліку пры падключэнні да кожнага VPN, але ён запісвае змяненне сеткі, і гэты запіс можа запусціць працу ў патрэбны момант. Выбар стаіць паміж рэакцыяй на гэты запіс, апытаннем рэсурсу і выдаленнем запыту, які зрабіў збой бачным.

Параўнанне трох механізмаў па тым, што яны гарантуюць, лепшае за ранжыраванне іх па элегантнасці. Кожны збіваецца па-свойму, і менавіта рэжым збою вы потым церпіце.

Чаму ўваход запускаецца занадта рана

Уваход і запуск сістэмы выконваюцца раней, чым VPN-адаптар атрымае адрас, таму падключэнне дыска, унутраны URL або злучэнне з базай даных, паспрабаваныя ў гэты момант, не маюць ні маршруту, ні рэзалвера. Запыт збіваецца, і сеанс застаецца ў стане, які карыстальнік мусіць выправіць уручную. Перанос таго ж скрыпта ў папку аўтазапуску нічога не мяняе, бо праблема парадку пераносіцца разам з ім. Трыгерам павінна быць змяненне сеткі, а не падзея сеансу.

Планаванае заданне пры ўваходзе з адвольнай затрымкай выглядае як выпраўленне, а насамрэч з'яўляецца здагадкай. Яно працуе на хуткай лініі і збіваецца на павольнай, а гэта найменш карысны від надзейнасці.

Тры механізмы ў параўнанні

Механізмы адрозніваюцца тым, што яны назіраюць, як хутка яны рэагуюць і што яны робяць пры паўторным падключэнні пазней за дзень. Табліца параўноўвае іх па гэтых трох пунктах, а не па тым, наколькі разумна кожны гучыць.

MechanismReacts toCovers a mid-session reconnectTypical failure
Network profile eventA network connect recordYes, when the event repeatsRuns on the wrong network
Resource poll with backoffThe resource becoming reachableYesLog noise and a wasted window
Stored credentials aloneNothing; it removes a promptNoStill fires before the tunnel

Чытайце табліцу радок за радком. Трыгер падзеі найхутчэйшы і найшумнейшы, бо Windows запісвае кожную сетку, уключаючы Wi-Fi кавярні, таму дзеянне павінна праверыць рэсурс, перш чым штосьці рабіць. Апытанне павольнейшае і дакладнейшае, бо яно ўдаецца менавіта тады, калі адгукаецца агульны рэсурс або імя хоста, і яму не трэба ведаць, які кліент усталяваны. Захаваныя ўліковыя даныя зусім не конкурентная опцыя: яны прыбіраюць запыт пароля, а гэта другая і незалежная прычына, чаму падключэнне дыска пры ўваходзе збіваецца.

Выбар паміж першымі двума зводзіцца да таго, ці ёсць на кліенце прыдатная падзея. Там, дзе яна ёсць, падзея плюс праверка рэсурсу — лепшая пастаянная налада.

Пабудуйце трыгер падзеі правільна

Запіс знаходзіцца ў журнале Microsoft-Windows-NetworkProfile/Operational, а ID 10001 пазначае сетку, якая толькі што падключылася. Стварыце заданне з трыгерам «Пры падзеі», накіраваным на гэты журнал, гэтую назву пастаўшчыка і гэты ідэнтыфікатар. Кожная сетка, да якой далучаецца машына, запусціць яго, таму дзеянню патрэбна ахоўная ўмова, а не дапушчэнне, і яно павінна выконвацца толькі пакуль карыстальнік увайшоў, калі праца закранае падключаныя дыскі.

Ахоўная ўмова павінна правяраць тое, што заданне сапраўды патрабуе, напрыклад шлях да агульнага рэсурсу або порт службы, і ціха выходзіць, калі гэта недасяжна. Праверкі назвы адаптара недастаткова, бо кліент можа выкарыстоўваць адзін адаптар у некалькіх профілях. Ціхі выхад захоўвае журнал чытэльным і прадухіляе шквал паўторных спроб супраць сеткі, якая ніколі не аддасць рэсурс.

Праверце, што заданне запускаецца ў патрэбны момант

Дакажыце час, а не канфігурацыю. Каманды ніжэй паказваюць вызначэнне задання, нядаўнія падзеі профілю сеткі і тое, ці дасяжны рэсурс з уліковага запісу, пад якім працуе заданне. Запускайце іх пасля сапраўднага паўторнага падключэння, а не пасля ручнога запуску.

schtasks /query /tn "VpnPostConnect" /v /fo LIST
Get-WinEvent -LogName Microsoft-Windows-NetworkProfile/Operational -MaxEvents 10
Test-Path \\fileserver\share
whoami

Запіс у гісторыі заданняў, які існуе, калі ніводная сеткавая падзея не супадае, азначае, што памылковы трыгер, а не дзеянне. Калі падзеі з'яўляюцца, а заданне не запускаецца, заданне можа працаваць пад уліковым запісам, які не бачыць рэсурс, і вывад уліковага запісу — гэта ключ. Праверка рэсурсу, якая праходзіць, пакуль падключэнне дыска ўсё яшчэ адсутнічае, паказвае на кантэкст сеансу, а не на злучанасць. Кожнае з гэтых трох назіранняў вядзе да іншага выпраўлення.

Запісвайце адзін радок журнала на кожны запуск з адрасам, вынікам па рэсурсе і вынікам. Наступны збой тады пакажа, ці заданне запускалася рана, ці на няправільнай сетцы, ці не запускалася зусім.

Падобныя артыкулы