VPN oynasini ochib, keyin o'n soniya uxlaydigan skript taxmin qilmoqda va bu taxmin ikki tomonga ham xato: yo tunnel ishlatishga yaroqli bo'lishidan oldin nusxa ko'chirishni boshlaydi, yoki ish allaqachon boshlanishi mumkin bo'lgandan keyin kutadi. Bu ikkala natijaning hech biri autentifikatsiya tugaganini aytmaydi. Buyruqning o'z natijasidan foydalaning, keyin xizmatga u haqiqatan javob bera oladigan savol bering. Ana shu ikki qadamning tartibi butun dizayndir.

Buyruq aslida nima haqida xabar beradi

O'rnatilgan buyruq qatori vositasi tushunadigan mahalliy Windows profili uchun rasdial.exe nomlangan yozuvni teradi va jarayonning chiqish kodini qaytaradi. Bu kod terish urinishini tavsiflaydi: nol bu profil uchun ulanish o'rnatilganini bildiradi, noldan farqli qiymat esa kod ko'rsatgan bosqichda muvaffaqiyatsiz bo'lganini bildiradi. Uni bitta qatlam natijasi sifatida o'qing, butun ishning natijasi sifatida emas.

Natija manzil ajratilishi, shaxsiy DNS, qo'shilgan marshrutlar yoki ma'lum bir serverga yetib borish ruxsati haqida hech narsa aytmaydi. Bularning barchasi muvaffaqiyatli ulanishdan keyin sodir bo'ladi va ularning har biri hali ham xato bo'lishi mumkin. Aynan shu bo'shliq tufayli ulangan belgi va muvaffaqiyatsiz nusxa ko'chirish tez-tez birga ko'rinadi.

Boshqa hech narsa ishga tushmasidan natijani ushlang

Ishni bajaradigan hisob uchun profil mavjudligini tasdiqlashdan boshlang, faqat siz sinovdan o'tkazayotgan hisob uchun emas:

Get-VpnConnection -Name "Contoso-Office"
Get-VpnConnection -Name "Contoso-Office" -AllUserConnection

Keyin ulaning va kodni darhol o'qing. PowerShell mahalliy natijani $LASTEXITCODE ichida faqat keyingi tashqi buyruq ishga tushgunga qadar saqlaydi, shuning uchun ulanish va tekshiruv orasida tasodifiy ping ishga tushsa, o'qimoqchi bo'lgan qiymatingiz yo'q qilinadi. Avval uni o'zingizning o'zgaruvchingizga belgilang, keyin nima qilishni hal qiling.

& rasdial.exe "Contoso-Office"
$dial = $LASTEXITCODE
if ($dial -ne 0) { throw "rasdial failed with $dial" }

Kodni maxfiy bo'lmagan xato matni bilan birga yozib qo'ying, chunki yo'q yozuv, rad etilgan hisob ma'lumotlari va vaqt tugashi turlicha javob talab qiladi. Jadval odatiy natijalarni keyingi harakat bilan bog'laydi.

ResultWhat it indicatesNext step
0The dial completedProbe the resource, do not start writing yet
691The credential or authentication method was rejectedFix the account or method, do not retry in a loop
623The named entry was not foundFix the profile name or its scope
Other non-zeroTransport, timeout or adapter failureRead the message, then check the path

Tayyorlik bu resurs, tunnel emas

Ulanish muvaffaqiyatli bo'lgach, ish talab qiladigan narsani sinab ko'ring. Umumiy jild, API so'nggi nuqtasi yoki ma'lumotlar bazasi porti ommaviy veb-saytdan yaxshiroq tayyorlik sinovidir, chunki ommaviy sayt ishlaydigan har qanday yo'l orqali javob beradi va shaxsiy yo'l haqida hech narsa isbotlamaydi. Ilovaning o'zi bog'liq bo'lgan sinovni tanlang. Muvaffaqiyatli TCP ulanishi marshrutlash va filtrlash ochiqligini aytadi, birinchi yozuvga kerak bo'ladigan narsaning katta qismi shu:

Test-NetConnection -ComputerName files.contoso.example -Port 445

Urinishlarni cheklang va qaysi bosqich muvaffaqiyatsiz bo'lganini yozib qo'ying. Rad etilgan hisob ma'lumotlari skriptni to'xtatishi kerak, qayta urinish halqasini oziqlantirishi emas; hali ko'rinmagan DNS nomi bir necha qisqa qayta urinishga loyiq; hech qachon ochilmaydigan port mijozdan yuqoridagi marshrutlash yoki siyosat muammosidir.

Ish boshlanishidan oldin ulanish allaqachon mavjud bo'lgan joyda uni qo'yib yuboring. Siz ochmagan sessiyani uzish foydalanuvchining boshqa ishini to'xtatadi, shuning uchun sessiya kimga tegishli ekanini va qanday yopish mos kelishini yozib qo'ying.

Profilni ishni bajaradigan hisob bilan cheklang

Rejalashtirilgan vazifa o'z shaxsiyati va sessiyasi ostida ishlaydi, ish stolingizda ishlaydigan profil u yerda ko'rinmasligi mumkin. Jadvalga ishonishdan oldin ko'rinish tekshiruvi va ulanishni vazifaning hisobi ostida qayta ishga tushiring. Parolni buyruq qatoridan uzoqda tuting: argumentlar boshqa jarayonlarga ko'rinadi va ko'pincha jurnallarga tushadi.

Agar joylashtirish brauzer so'rovini, smart-karta tegishini yoki MFA tasdiqlashini talab qilsa, bu o'zaro ta'sir dizaynning bir qismidir va klaviatura bosishlarini taqlid qilish bilan avtomatlashtirib bo'lmaydi. Bunday holat uchun qo'llab-quvvatlanadigan mijozdan foydalaning va inson qadami sodir bo'lishiga yo'l qo'ying.

Yakuniy skriptning shakli qisqa bo'lib qoladi: profilni tekshiring, ulaning, kodni o'qing, resursni sinang, keyin ishni boshlang. Har bir qadam avvalgisi javob bera olmagan savolga javob beradi va ularning hech biri uyquga tayanmaydi.

O'xshash maqolalar