شغّل مهمة عند اتصال VPN: حدث أم استقصاء أم بيانات اعتماد؟
سكربت تسجيل الدخول يعمل قبل وجود النفق. قارن مشغّل حدث شبكة واستقصاء مورد وبيانات اعتماد مخزنة بما يضمنه كل منها.
سكربت تسجيل الدخول الذي يربط محرك أقراص أو يبدأ مهمة مزامنة يعمل قبل أن يحصل النفق على عنوان، فيفشل بهدوء ويصلحه المستخدم يدويًا كل صباح. لا يوفّر Windows لأغلب العملاء أي استدعاء رجوع للاتصال لكل VPN، لكنه يسجّل تغيّر الشبكة، ويمكن لهذا السجل أن يبدأ العمل في اللحظة الصحيحة. الاختيار يقع بين التفاعل مع ذلك السجل، واستقصاء المورد، وإزالة المطالبة التي جعلت الفشل ظاهرًا.
مقارنة الآليات الثلاث بما تضمنه أفضل من ترتيبها حسب الأناقة. كل واحدة تفشل بطريقة مختلفة، ونمط الفشل هو ما تعيش معه لاحقًا.
لماذا يعمل تسجيل الدخول مبكرًا جدًا
يعمل تسجيل الدخول وبدء التشغيل قبل أن يتلقى محول VPN عنوانه، لذا فإن ربط محرك أقراص أو رابط داخلي أو اتصال قاعدة بيانات يُجرَّب في تلك اللحظة لا يجد مسارًا ولا مُحلِّلًا. يفشل الطلب، وتبقى الجلسة في حالة على المستخدم إصلاحها يدويًا. نقل السكربت نفسه إلى مجلد بدء التشغيل لا يغيّر شيئًا، لأن مشكلة الترتيب تنتقل معه. يجب أن يكون المشغّل تغيّرًا في الشبكة لا حدثًا في الجلسة.
مهمة مجدولة عند تسجيل الدخول بتأخير عشوائي تبدو كحل وهي في الحقيقة تخمين. تنجح على رابط سريع وتفشل على رابط بطيء، وهذا أقل أنواع الموثوقية فائدة.
ثلاث طرق ربط مقارنة
تختلف الآليات فيما ترصده، وسرعة تفاعلها، وما تفعله عند إعادة الاتصال في وقت لاحق من اليوم. يقارنها الجدول على هذه النقاط الثلاث لا على مدى ذكاء كل منها.
| 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، والمعرّف 10001 يعلّم شبكة اتصلت للتو. أنشئ المهمة بمشغّل عند حدث موجّه إلى ذلك السجل واسم المزوّد ذلك والمعرّف ذلك. كل شبكة ينضم إليها الجهاز ستشغّله، لذا يحتاج الإجراء إلى شرط حارس لا إلى افتراض، وينبغي أن يعمل فقط بينما يكون المستخدم مسجّلًا للدخول إذا لمس العمل محركات أقراص مرتبطة.
ينبغي أن يختبر شرط الحارس ما تحتاجه المهمة فعليًا، مثل مسار مشاركة أو منفذ خدمة، وأن يخرج بهدوء عندما يتعذر الوصول إليه. اختبار اسم المحول ليس كافيًا، لأن العميل قد يعيد استخدام محول واحد عبر عدة ملفات تعريف. الخروج الهادئ يبقي السجل مقروءًا ويمنع عاصفة إعادة محاولة ضد شبكة لن تقدّم المورد أبدًا.
اختبر أن المهمة تعمل في اللحظة الصحيحة
أثبت التوقيت لا الإعداد. تُظهر الأوامر أدناه تعريف المهمة، وأحداث ملف تعريف الشبكة الأخيرة، وما إذا كان المورد قابلًا للوصول من الحساب الذي تعمل به المهمة. شغّلها بعد إعادة اتصال حقيقية لا بعد بدء يدوي.
schtasks /query /tn "VpnPostConnect" /v /fo LIST
Get-WinEvent -LogName Microsoft-Windows-NetworkProfile/Operational -MaxEvents 10
Test-Path \\fileserver\share
whoami
وجود إدخال في سجل المهمة بينما لا يتوافق أي حدث شبكة يعني أن المشغّل خاطئ لا الإجراء. إذا ظهرت الأحداث ولم تعمل المهمة، فقد تكون المهمة تعمل تحت حساب لا يرى المورد، ويكون ناتج الحساب هو الدليل. نجاح فحص المورد بينما الربط ما زال مفقودًا يشير إلى سياق الجلسة لا إلى الاتصال. كل واحدة من تلك الملاحظات الثلاث تقودك إلى إصلاح مختلف.
اكتب سطر سجل واحدًا لكل تشغيل يتضمن العنوان ونتيجة المورد والنتيجة النهائية. سيُظهر الفشل التالي حينها ما إذا كانت المهمة عملت مبكرًا، أو عملت على الشبكة الخطأ، أو لم تعمل إطلاقًا.