Skrip log masuk yang memetakan pemacu atau memulakan kerja penyegerakan berjalan sebelum terowong mempunyai alamat, jadi ia gagal secara senyap dan pengguna membaikinya secara manual setiap pagi. Windows tidak menawarkan callback sambungan setiap VPN kepada kebanyakan klien, tetapi ia merekodkan perubahan rangkaian, dan rekod itu boleh memulakan kerja pada saat yang betul. Pilihan itu terletak antara bertindak balas terhadap rekod itu, meninjau sumber, dan membuang gesaan yang menjadikan kegagalan itu kelihatan.

Membandingkan ketiga-tiga mekanisme mengikut apa yang dijamin lebih baik daripada menyusunnya mengikut keanggunan. Setiap satu gagal secara berbeza, dan mod kegagalan itulah yang anda hidupi selepas itu.

Mengapa log masuk berjalan terlalu awal

Log masuk dan permulaan berjalan sebelum penyesuai VPN menerima alamatnya, jadi pemetaan pemacu, URL dalaman atau sambungan pangkalan data yang dicuba pada saat itu tidak mempunyai laluan mahupun penyelesai. Permintaan gagal, dan sesi ditinggalkan dalam keadaan yang pengguna perlu baiki secara manual. Memindahkan skrip yang sama ke folder permulaan tidak mengubah apa-apa, kerana masalah susunan pergi bersamanya. Pencetus mesti perubahan rangkaian dan bukan peristiwa sesi.

Tugas berjadual semasa log masuk dengan kelewatan sewenang-wenangnya kelihatan seperti pembaikan dan sebenarnya tekaan. Ia berfungsi pada pautan pantas dan gagal pada pautan perlahan, iaitu jenis kebolehpercayaan yang paling tidak berguna.

Tiga cangkuk dibandingkan

Mekanisme ini berbeza dalam apa yang diperhatikan, betapa pantas bertindak balas, dan apa yang dilakukan terhadap sambungan semula kemudian hari. Jadual membandingkannya pada ketiga-tiga perkara itu, bukan pada betapa pintarnya setiap satu kedengaran.

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

Baca jadual baris demi baris. Cangkuk peristiwa paling pantas dan paling bising, kerana Windows merekodkan setiap rangkaian termasuk Wi-Fi kafe, jadi tindakan mesti mengesahkan sumber sebelum melakukan apa-apa. Tinjauan lebih perlahan dan lebih tepat, kerana ia berjaya tepat apabila perkongsian atau nama hos menjawab, dan ia tidak perlu tahu klien mana yang dipasang. Kelayakan tersimpan bukan pilihan pesaing langsung: ia membuang gesaan kata laluan, yang merupakan sebab kedua dan bebas mengapa pemetaan pada waktu log masuk gagal.

Memilih antara dua yang pertama bergantung pada sama ada peristiwa yang boleh digunakan wujud pada klien. Jika wujud, peristiwa ditambah pemeriksaan sumber ialah lalai yang lebih baik.

Bina pencetus peristiwa dengan betul

Rekod itu berada dalam log Microsoft-Windows-NetworkProfile/Operational, dan ID 10001 menandakan rangkaian yang baru bersambung. Cipta tugas dengan pencetus Apabila peristiwa yang ditujukan kepada log itu, nama penyedia itu dan pengecam itu. Setiap rangkaian yang disertai mesin akan mencetuskannya, jadi tindakan memerlukan klausa pengawal dan bukan andaian, dan ia patut berjalan hanya semasa pengguna log masuk jika kerja menyentuh pemacu yang dipetakan.

Klausa pengawal patut menguji apa yang sebenarnya diperlukan oleh tugas, seperti laluan perkongsian atau port perkhidmatan, dan keluar secara senyap apabila ia tidak dapat dicapai. Menguji nama penyesuai tidak mencukupi, kerana klien boleh menggunakan semula satu penyesuai merentas beberapa profil. Keluar secara senyap memastikan log kekal boleh dibaca dan menghalang badai percubaan semula terhadap rangkaian yang tidak akan pernah menyediakan sumber itu.

Uji bahawa tugas berjalan pada saat yang betul

Buktikan masanya, bukan konfigurasinya. Perintah di bawah menunjukkan definisi tugas, peristiwa profil rangkaian terkini, dan sama ada sumber boleh dicapai daripada akaun tempat tugas berjalan. Jalankannya selepas sambungan semula sebenar dan bukan selepas permulaan manual.

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

Entri sejarah tugas yang wujud sedangkan tiada peristiwa rangkaian sepadan bermakna pencetusnya salah dan bukan tindakannya. Jika peristiwa muncul tetapi tugas tidak berjalan, tugas itu mungkin berjalan di bawah akaun yang tidak dapat melihat sumber itu, dan output akaun itu ialah petunjuknya. Pemeriksaan sumber yang lulus sedangkan pemetaan masih hilang menunjuk kepada konteks sesi dan bukan ketersambungan. Setiap daripada tiga pemerhatian itu membawa anda kepada pembaikan yang berbeza.

Tulis satu baris log bagi setiap pelaksanaan dengan alamat, hasil sumber dan hasil akhir. Kegagalan seterusnya kemudian akan menunjukkan sama ada tugas berjalan awal, berjalan pada rangkaian yang salah, atau tidak berjalan langsung.

Artikel berkaitan