Menjalankan tugas saat VPN terhubung: peristiwa, polling, atau kredensial?
Skrip logon berjalan sebelum terowongan ada. Bandingkan pemicu peristiwa jaringan, polling sumber daya, dan kredensial tersimpan menurut apa yang dijamin masing-masing.
Skrip logon yang memetakan drive atau memulai tugas sinkronisasi berjalan sebelum terowongan memiliki alamat, jadi skrip itu gagal diam-diam dan pengguna memperbaikinya secara manual setiap pagi. Windows tidak menawarkan callback koneksi per VPN kepada sebagian besar klien, tetapi mencatat perubahan jaringan, dan catatan itu dapat memulai pekerjaan pada saat yang tepat. Pilihannya ada di antara bereaksi terhadap catatan itu, melakukan polling sumber daya, dan menghapus perintah yang membuat kegagalan terlihat.
Membandingkan ketiga mekanisme berdasarkan apa yang dijaminnya lebih baik daripada memberi peringkat berdasarkan keanggunannya. Masing-masing gagal secara berbeda, dan mode kegagalan itulah yang Anda jalani setelahnya.
Mengapa logon berjalan terlalu awal
Logon dan startup berjalan sebelum adaptor VPN menerima alamatnya, jadi pemetaan drive, URL internal, atau koneksi basis data yang dicoba pada saat itu tidak memiliki rute maupun resolver. Permintaan gagal, dan sesi tertinggal dalam keadaan yang harus diperbaiki pengguna secara manual. Memindahkan skrip yang sama ke folder startup tidak mengubah apa pun, karena masalah urutan ikut berpindah. Pemicunya harus perubahan jaringan, bukan peristiwa sesi.
Tugas terjadwal saat logon dengan penundaan sembarang tampak seperti perbaikan dan sebenarnya hanya tebakan. Tugas itu berhasil pada tautan cepat dan gagal pada tautan lambat, yang merupakan jenis keandalan paling tidak berguna.
Tiga kait dibandingkan
Mekanisme ini berbeda dalam apa yang diamati, seberapa cepat bereaksi, dan apa yang dilakukan terhadap koneksi ulang di kemudian hari. Tabel membandingkannya pada ketiga titik itu, bukan pada seberapa cerdas masing-masing terdengar.
| 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 |
Baca tabel baris demi baris. Kait peristiwa adalah yang tercepat dan paling berisik, karena Windows mencatat setiap jaringan termasuk Wi-Fi kafe, jadi tindakan harus memverifikasi sumber daya sebelum melakukan apa pun. Polling lebih lambat dan lebih tepat, karena berhasil tepat ketika berbagi atau nama host menjawab, dan tidak perlu mengetahui klien mana yang terpasang. Kredensial tersimpan sama sekali bukan pilihan pesaing: kredensial itu menghapus permintaan kata sandi, yang merupakan alasan kedua dan independen mengapa pemetaan saat logon gagal.
Memilih di antara dua yang pertama bergantung pada apakah ada peristiwa yang dapat digunakan di klien. Jika ada, peristiwa ditambah pemeriksaan sumber daya adalah default yang lebih baik.
Bangun pemicu peristiwa dengan benar
Catatan berada di log Microsoft-Windows-NetworkProfile/Operational, dan ID 10001 menandai jaringan yang baru saja terhubung. Buat tugas dengan pemicu Saat peristiwa yang diarahkan ke log itu, nama penyedia itu, dan pengenal itu. Setiap jaringan yang diikuti mesin akan memicunya, jadi tindakan memerlukan klausa pengaman, bukan asumsi, dan tugas hanya boleh berjalan saat pengguna masuk jika pekerjaan menyentuh drive yang dipetakan.
Klausa pengaman harus menguji apa yang sebenarnya dibutuhkan tugas, seperti jalur berbagi atau porta layanan, dan keluar dengan tenang saat tidak dapat dijangkau. Menguji nama adaptor tidak cukup, karena klien dapat menggunakan ulang satu adaptor di beberapa profil. Keluar dengan tenang menjaga log tetap terbaca dan mencegah badai percobaan ulang terhadap jaringan yang tidak akan pernah menyediakan sumber daya.
Uji bahwa tugas berjalan pada saat yang tepat
Buktikan waktunya, bukan konfigurasinya. Perintah di bawah menunjukkan definisi tugas, peristiwa profil jaringan terbaru, dan apakah sumber daya dapat dijangkau dari akun tempat tugas berjalan. Jalankan setelah koneksi ulang sungguhan, bukan setelah mulai manual.
schtasks /query /tn "VpnPostConnect" /v /fo LIST
Get-WinEvent -LogName Microsoft-Windows-NetworkProfile/Operational -MaxEvents 10
Test-Path \\fileserver\share
whoami
Entri riwayat tugas yang ada sementara tidak ada peristiwa jaringan yang cocok berarti pemicunya yang salah, bukan tindakannya. Jika peristiwa muncul tetapi tugas tidak berjalan, tugas mungkin berjalan di bawah akun yang tidak dapat melihat sumber daya, dan keluaran akun adalah petunjuknya. Pemeriksaan sumber daya yang lolos sementara pemetaan masih hilang menunjuk pada konteks sesi, bukan konektivitas. Setiap dari ketiga pengamatan itu mengarahkan Anda ke perbaikan yang berbeda.
Tulis satu baris log per eksekusi dengan alamat, hasil sumber daya, dan hasil akhir. Kegagalan berikutnya kemudian akan menunjukkan apakah tugas berjalan terlalu awal, berjalan di jaringan yang salah, atau tidak berjalan sama sekali.