اجرای یک وظیفه هنگام اتصال VPN: رویداد، نظرسنجی یا اعتبارنامه؟
اسکریپت ورود پیش از آنکه تونل وجود داشته باشد اجرا میشود. یک راهانداز رویداد شبکه، نظرسنجی منبع و اعتبارنامههای ذخیرهشده را از نظر آنچه هر یک تضمین میکند مقایسه کنید.
اسکریپت ورودی که یک درایو را نقشهبرداری میکند یا یک کار همگامسازی را آغاز میکند، پیش از آنکه تونل آدرس داشته باشد اجرا میشود، بنابراین بیصدا شکست میخورد و کاربر هر صبح آن را دستی درست میکند. Windows برای بیشتر کلاینتها فراخوان بازگشت اتصال بهازای هر VPN ارائه نمیدهد، اما تغییر شبکه را ثبت میکند و آن رکورد میتواند کار را در لحظه درست آغاز کند. انتخاب میان واکنش به آن رکورد، نظرسنجی منبع و حذف اعلانی است که شکست را قابلمشاهده کرده بود.
مقایسه سه سازوکار بر اساس آنچه تضمین میکنند بهتر از رتبهبندی آنها بر اساس زیبایی است. هر یک به شکلی متفاوت شکست میخورد و حالت شکست چیزی است که بعداً با آن زندگی میکنید.
چرا ورود بیش از حد زود اجرا میشود
ورود و شروع به کار پیش از آن اجرا میشوند که آداپتور VPN آدرسش را دریافت کند، بنابراین نقشهبرداری درایو، URL داخلی یا اتصال پایگاه دادهای که در آن لحظه تلاش شود نه مسیر دارد و نه حلکننده. درخواست شکست میخورد و نشست در وضعیتی میماند که کاربر باید دستی درست کند. انتقال همان اسکریپت به پوشه شروع به کار چیزی را تغییر نمیدهد، زیرا مشکل ترتیب با آن سفر میکند. راهانداز باید تغییر شبکه باشد نه رویداد نشست.
یک وظیفه زمانبندیشده در ورود با تأخیری دلبخواه شبیه یک راهحل به نظر میرسد و در واقع یک حدس است. روی پیوند سریع کار میکند و روی پیوند کند شکست میخورد، که بیفایدهترین نوع قابلیت اطمینان است.
سه قلاب در مقایسه
سازوکارها در آنچه مشاهده میکنند، سرعت واکنش و کاری که برای اتصال دوباره در ادامه روز انجام میدهند متفاوتاند. جدول آنها را روی این سه نکته مقایسه میکند، نه بر اساس اینکه هر یک چقدر هوشمندانه به نظر میرسد.
| 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
وجود یک ورودی در تاریخچه وظیفه در حالی که هیچ رویداد شبکهای همخوان نیست یعنی راهانداز اشتباه است نه اقدام. اگر رویدادها ظاهر شوند و وظیفه اجرا نشود، ممکن است وظیفه زیر حسابی اجرا شود که منبع را نمیبیند و خروجی حساب سرنخ است. بررسی منبعی که موفق میشود در حالی که نقشهبرداری هنوز غایب است به زمینه نشست اشاره میکند نه به اتصال. هر یک از آن سه مشاهده شما را به راهحل متفاوتی میفرستد.
برای هر اجرا یک خط گزارش با آدرس، نتیجه منبع و پیامد بنویسید. شکست بعدی آنگاه نشان میدهد که وظیفه زود اجرا شده، روی شبکه اشتباه اجرا شده یا اصلاً اجرا نشده است.