Покрените задатак када се VPN повеже: догађај, провера или креденцијали?
Скрипта за пријаву се извршава пре него што тунел постоји. Упоредите окидач мрежног догађаја, проверу ресурса и сачуване креденцијале по томе шта сваки гарантује.
Скрипта за пријаву која мапира диск или покреће посао синхронизације извршава се пре него што тунел добије адресу, па тихо не успева и корисник је свако јутро поправља ручно. Windows већини клијената не нуди повратни позив при повезивању за сваки VPN, али бележи промену мреже, и тај запис може да покрене посао у правом тренутку. Избор је између реаговања на тај запис, провере ресурса и уклањања упита који је учинио неуспех видљивим.
Упоређивање три механизма по томе шта гарантују боље је од рангирања по елеганцији. Сваки не успева другачије, а начин неуспеха је оно са чиме после живите.
Зашто се пријава извршава прерано
Пријава и покретање извршавају се пре него што VPN адаптер добије адресу, па мапирање диска, интерни URL или веза са базом података покушани у том тренутку немају ни путању ни резолвер. Захтев не успева, а сесија остаје у стању које корисник мора ручно да поправи. Премештање исте скрипте у фасциклу за аутоматско покретање ништа не мења, јер проблем редоследа путује са њом. Окидач мора да буде промена мреже, а не догађај сесије.
Заказани задатак при пријави са произвољним кашњењем изгледа као поправка, а заправо је нагађање. Ради на брзој вези, а не успева на спорој, што је најнекориснија врста поузданости.
Три куке у поређењу
Механизми се разликују по томе шта посматрају, колико брзо реагују и шта раде при поновном повезивању касније током дана. Табела их пореди по те три тачке, а не по томе колико паметно сваки звучи.
| Mechanism | Reacts to | Covers a mid-session reconnect | Typical failure |
|---|---|---|---|
| Network profile event | A network connect record | Yes, when the event repeats | Runs on the wrong network |
| Resource poll with backoff | The resource becoming reachable | Yes | Log noise and a wasted window |
| Stored credentials alone | Nothing; it removes a prompt | No | Still 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
Унос у историји задатака који постоји док се не поклапа ниједан мрежни догађај значи да је окидач погрешан, а не дејство. Ако се догађаји појаве, а задатак не покрене, задатак можда ради под налогом који не види ресурс, а излаз налога је траг. Провера ресурса која прође док мапирање још недостаје упућује на контекст сесије, а не на повезаност. Свако од та три запажања води вас до другачије поправке.
Запишите једну линију дневника по покретању са адресом, резултатом ресурса и исходом. Следећи неуспех ће тада показати да ли се задатак извршио рано, извршио на погрешној мрежи или се уопште није извршио.