Windows o'zining VPN mijozi uchun qayta qo'ng'iroq siyosatini taqdim etmaydi, shuning uchun yarim kechada uzilgan ulanish nonushta paytida ham o'chirilgan holda qoladi. Uzilishni kuzatadigan va rasdial ni ishga tushadigan rejalashtirilgan vazifa bu bo'shliqni uchinchi tomon mijozisiz yopadi. Vazifa operator kabi yoki sikl kabi ishlaydimi, bu uch tafsilotga bog'liq: qaysi hodisalarga mos keladi, qaysi hisob ma'lumotlarini ko'ra oladi va natija bilan nima qiladi. Uchtasining hech biri qiyin emas va ulardan birini o'tkazib yuborish abadiy qo'ng'iroq qiladigan vazifani yaratadi.

Nega taymer noto'g'ri trigger

Taymer tunnel o'chirilgan yoki yo'qligidan qat'i nazar, o'z jadvali bo'yicha qo'ng'iroq qiladi. Bu hech kimga kerak bo'lmagan urinishlarni keltirib chiqaradi va ish seansi paytidagi urinish uni to'xtatishi mumkin. Hodisa triggeri faqat ulanish holatini o'zgartirganda ishga tushadi, bu arzonroq va o'ylash osonroq. Hodisa sababni ham olib yuradi va sabab tarmoq nosozligini ataylab uzilgan odamdan ajratadi.

Bu farq foydali vazifa va har oqshom foydalanuvchi bilan kurashadigan vazifa o'rtasidagi farq. Bu, shuningdek, faqat harakatni tavsiflaydigan retseptlarda odatda etishmaydigan qism.

Hodisalar jufti va bostirilishi kerak bo'lgan biri

Remote Access Service mijozi hayot tsikli yozuvlarini RasClient provayderi ostida Application jurnaliga yozadi. 20226 tugagan ulanishni, 20227 esa muvaffaqiyatsiz urinishni bildiradi, shuning uchun ikkalasi ham yangi qo'ng'iroqni oqlashi mumkin. Vazifadagi qolgan hamma narsa bu ikki identifikatorni aniq moslashtirishga bog'liq. Ular yillar davomida barqaror, shuning uchun ularga asoslangan retseptlar hali ham aylanib yuribdi, ammo provayder yoki identifikatorlarning nomini o'zgartiruvchi qurilish so'rov hech narsa qaytarmasligiga olib keladi. Har bir funksiya yangilanishidan keyin isbot qadamini qayta ishga tushiring, vazifa ishga tushishni to'xtatishini kutish o'rniga.

Bitta tugatishni istisno qilish kerak. 631 xatosi portni foydalanuvchi uzganini bildiradi va o'sha paytda qayta qo'ng'iroq qilish hozir ataylab tarmoqni almashtirgan odam bilan kurashishdir. Istisnoni skriptga emas, trigger filtriga qo'ying, vazifa umuman boshlanmasin. U faqat bitta hodisa ID siga tegishli bo'lishi kerak, chunki EventData predikati faqat nomlangan element mavjud bo'lganda mos keladi va umumiy band boshqa ID ning har bir hodisasini jimgina tashlab yuboradi. Filtrni yozishdan oldin element nomini haqiqiy yozuvdan o'qing:

Get-WinEvent -LogName Application -MaxEvents 5 -FilterXPath "*[System[Provider[@Name='RasClient'] and EventID=20226]]" | Select-Object -First 1 -ExpandProperty ToXml

XML o'sha yozuvdagi Data ning aniq nomlarini ko'rsatadi. ErrorCode odatiy yozilish, boshqa narsani ishlatadigan yozuv esa quyidagi filtrda o'sha nomni almashtirishni talab qiladi.

<QueryList><Query Id="0" Path="Application"><Select Path="Application">*[System[Provider[@Name='RasClient'] and (EventID=20226 or EventID=20227)]] and (EventData[Data[@Name='ErrorCode'] != '631'] or System[EventID=20227])</Select></Query></QueryList>

Buni triggerning maxsus filtriga joylashtiring va trigger bo'lishidan oldin so'rov sifatida isbotlang. Xuddi shu XPath PowerShell dan tirik jurnalga qarshi ishlaydi, bu vazifa tarixi hali aralashmagan paytda nima bilan mos kelishini ko'rishning arzon usuli.

Get-WinEvent -LogName Application -MaxEvents 40 -FilterXPath "*[System[Provider[@Name='RasClient'] and (EventID=20226 or EventID=20227)]] and (EventData[Data[@Name='ErrorCode'] != '631'] or System[EventID=20227])" | Select-Object TimeCreated,Id,Message

Jimgina hech narsaga mos kelmaydigan trigger ishlab muvaffaqiyatsiz bo'lgan vazifaga o'xshaydi. Ikkalasi ham "avtomatlashtirish ishlamaydi" deb ko'rinadi va hech biri qaysi yarmi yetishmayotganini aytmaydi. Avval so'rov chiqishini tekshiring, chunki u ikki holatni bir qadamda ajratadi.

Qo'ng'iroq muvaffaqiyatsiz bo'ladi, chunki parolni teradigan hech kim yo'q

Harakat ulanish nomi bilan rasdial ni ishga tushiradi. Profilda keshlangan hisob ma'lumotlari bo'lmasa, qo'ng'iroq darhol muvaffaqiyatsiz bo'ladi, chunki so'rovga javob beradigan hech kim yo'q. To'g'ri triggerlangan vazifa ko'rinadigan hech narsa qilmasligining eng keng tarqalgan sababi shu, shuning uchun triggeriga tegishdan oldin buni tekshiring. Buyruq satridan qo'lda qo'ng'iroq qilish hisob ma'lumotlari muammosini jadval muammosidan ajratadi.

Hisob ma'lumotlarini vazifa ishlaydigan hisob ostida bir marta saqlang va o'sha hisobni dizaynning bir qismiga aylantiring. SYSTEM sifatida ishlaydigan vazifa sizning interaktiv hisobingiz keshlagan ma'lumotlarni o'qiy olmaydi, boshqa birov sifatida ishlaydigan vazifa ham o'qiy olmaydi. Nom ham profilga aniq mos kelishi kerak, foydalanuvchi maydonidagi har qanday domen prefiksi bilan birga.

rasdial
rasdial "Office VPN"
(Start-Process rasdial -ArgumentList '"Office VPN"' -Wait -PassThru -NoNewWindow).ExitCode

Birinchi buyruq Windows biladigan nomlarni sanaydi. Ikkinchisi keshlangan hisob ma'lumotlari bilan nom bo'yicha qo'ng'iroq qiladi, uchinchisi esa PowerShell harakati ishlatishi kerak bo'lgan shakl, chunki u kutadi va vazifa yozib olishi mumkin bo'lgan qiymatni qaytaradi.

Oyna o'rniga chiqish kodini o'qing

Kutmasdan jarayon boshlaydigan vazifa jarayon mavjud bo'lishi bilanoq muvaffaqiyat haqida xabar beradi. Bir soniyadan keyin muvaffaqiyatsiz bo'lishi mumkin bo'lgan qo'ng'iroq uchun bu hukm foydasiz. Chiqish kodini kutish harakatni haqiqiy natijaga aylantiradi. Vazifa tarixi o'zi faqat jarayon boshlanganini ko'rsatadi, tunnel ko'tarilganini hech qachon ko'rsatmaydi.

Har bir ishga tushishda qiymatni vaqt belgisi bilan yozib oling. Uzilishdan keyingi bitta muvaffaqiyatsizlik normal, ammo bir xil kod bilan ketma-ket uchta muvaffaqiyatsizlik tarmoqqa emas, hisob ma'lumotlariga yoki profilga ishora qiladi. Aynan shu naqsh tarixni o'qishga arziydigan qiladi.

Sug'urta sifatida qisqa takrorlash oralig'ini qo'shing va uning hodisa triggeri bilan qanday o'zaro ta'sirlashishini aniq ayting. Besh daqiqa davomida har daqiqada takrorlash internet tunnel bilan birga qaytganida ikkinchi urinishni beradi, va Sozlamalar ostida, "Agar vazifa allaqachon ishlayotgan bo'lsa, quyidagi qoida qo'llaniladi", vazifa "Yangi nusxani boshlamang" ni xohlaydi, shunda takrorlash hali davom etayotgan qo'ng'iroq bilan ustma-ust tushmaydi. Bu sozlama bo'lmasa, ikkita rasdial jarayoni bir port uchun raqobatlashadi va ikkinchisi foydali sababsiz muvaffaqiyatsiz bo'ladi.

Tiklanish yo'lini isbotlang

Ikkala yo'nalishni ataylab sinab ko'ring. Qo'lda uzing va qayta qo'ng'iroq bo'lmasligini tasdiqlang, so'ng tarmoq adapterini o'chirib, aloqa qaytganda vazifa ishga tushishini tasdiqlang. Bu ikki sinov bostirish qoidasini va haqiqiy nosozlik holatini qamrab oladi va boshqa hech narsa buni qilmaydi.

Keyin ulanish belgisi o'rniga vazifa tarixini o'qing. Tarix vazifa qachon ishlaganini, qaysi hisobni ishlatganini va harakat nima qaytarganini yozadi, va keyingi oy o'sha mashina yana uzilganda aynan shu dalil kerak bo'ladi.

O'xshash maqolalar