اتصال به VPN اسکریپت ورود شما را دوباره اجرا نمیکند
اسکریپتهای ورود هنگام ورود اجرا میشوند، نه وقتی تونل ظاهر میشود. راهاندازی، ورود و تازهسازی پسزمینه را جدا کنید، سپس کار را روی اتصال فعال کنید.
کاربر شما در خانه وارد میشود، به VPN وصل میشود و منتظر نگاشت درایوی میماند که پیشتر در دفتر خودبهخود ظاهر میشد. تونل بالا میآید، دامنه پاسخ میدهد و هیچ چیز نگاشت نمیشود. هیچ چیز خراب نیست: اسکریپت ورود هنگام ورود اجرا میشود، و تونلی که بیست دقیقه پس از آغاز نشست باز میشود ورود نیست. خواندن این دو بهعنوان یک رویداد، مردم را به جستجوی عیب VPNی میفرستد که وجود ندارد.
چهار تصمیم غافلگیری را به جریان کاری درست تبدیل میکند، و اولی صرفاً دانستن این است که اسکریپت بر کدام رویدادها سوار میشود.
اسکریپتها بر رویدادهای چرخه عمر سوار میشوند که نمیتوانید بازپخش کنید
سیاست سمت رایانه هنگام بوت ماشین اعمال میشود و سیاست سمت کاربر هنگام ورود کسی، در حالی که تازهسازی پسزمینه همان تنظیمات را بدون راهاندازی مجدد چیزی طی میکند. آن تازهسازی افزونه اسکریپتها را پردازش میکند، اما اسکریپتهای فردی را دوباره اجرا نمیکند، که فقط هنگام راهاندازی، خاموش شدن، ورود یا خروج فعال میشوند. بنابراین gpupdate /force میتواند موفقیت گزارش کند در حالی که نگاشت هنوز غایب است، و تازهسازی پاک مدرکی نیست که اسکریپت کاری کرده است.
مرجع مایکروسافت درباره پردازش خطمشی دقیقاً همان مرز را بین پردازش افزونه و اجرای آنچه در آن است میکشد، و همان صفحهای است که وقتی کسی اصرار دارد تازهسازی باید اسکریپت را بازپخش میکرد باید به آن ارجاع داد.
هر اسکریپتی هم بدون اتصال شکست نمیخورد. اسکریپتی که فقط مطالب محلی یا ذخیرهشده در حافظه نهان را میخواند ممکن است تا حدی موفق شده باشد، در حالی که اسکریپتی که به یک اشتراک دست میزند بیصدا شکست میخورد و نشانه آشکاری بر جای نمیگذارد. پیش از سرزنش شبکه، مسیر واقعی اسکریپت و آنچه به آن میرسد را بررسی کنید. همین بررسی شایسته هر ادعایی است که اسکریپت هنگام ورود اجرا نمیشود، زیرا یک وظیفه زمانبندیشده یا یک اقدام سرویسگیر ممکن است کار را جایی انجام دهد که هیچکس نگاه نمیکند.
کار را به اتصال ببندید، نه به ورود
سه کار متفاوت پشت عبارت اسکریپت ورود پنهان است: نگاشت درایو پس از اتصال کاربر، اعمال پیکربندی ماشین پیش از ورود کسی، و کشیدن خطمشی بهروزشده. مهلتهای متفاوتی دارند و فقط دومی واقعاً پیش از ورود به اتصال نیاز دارد. الزام را جملهای با مهلت بنویسید، مثلاً: این نگاشت باید ظرف یک دقیقه پس از بالا آمدن تونل وجود داشته باشد.
برای کاری که باید پس از اتصال رخ دهد، از وظیفهای که با اتصال فعال میشود یا اقدام اتصالی که سرویسگیر پشتیبانی میکند استفاده کنید. بررسی کنید سرویسگیر واقعاً کدام رویداد را منتشر میکند، زیرا رویدادی که سرویسگیر بومی VPN ویندوز برمیانگیزد توسط سرویسگیر شخص ثالث برانگیخته نمیشود. برای پیکربندی ماشین که باید پیش از ورود باشد، پاسخ پشتیبانیشده تونل دستگاه یا طرح دیگری پیش از ورود است، نه وظیفهای که با ظاهر شدن میزکار فعال شود. کار را در هویت و نشستی که به آن نیاز دارند اجرا کنید، زیرا نگاشتی که با SYSTEM ساخته میشود در نشستی فرود میآید که کاربر هرگز آن را نمیبیند.
پیش از اقدام آمادگی را بیازمایید و بلند شکست بخورید
رویداد اتصال میتواند پیش از قابل استفاده بودن DNS یا کارساز فایل برسد، پس وظیفه باید آنچه لازم دارد را بیازماید نه اینکه فرض کند. نام مشخص را حل کنید، اتصال مشخص را امتحان کنید و با یک حد و تأخیر دوباره تلاش کنید: Resolve-DnsName files.corp.example در حلقهای کوتاه «هنوز نه» را از «هرگز» جدا میکند. پس از آخرین تلاش شکست مشخصی را با نام و خطا در آن گزارش دهید.
حلقه بیپایان بدون گزارش از وظیفهای که هرگز شروع نشد قابل تشخیص نیست و تفاوت میان اعتبارنامه کهنه و قاعده دیوار آتش را پنهان میکند.
چهار چیز را بررسی کنید، سپس آن را تکرارپذیر کنید
در طول آزمایش، چهار مشاهده ثبت کنید نه یکی: رویداد اتصال رخ داد، وظیفه آغاز شد، منبع پاسخ داد و تغییر درخواستی واقعاً اعمال شد. اگر گزارش در «وظیفه آغاز شد» متوقف شود، شکست واقعی هرقدر هم صبر کنید نامرئی میماند. سپس gpresult /scope user /v را اجرا کنید تا ببینید نشست چه خطمشیای برای خود میپندارد و آن را با تنظیمی که انتظار داشتید مقایسه کنید. گزارشی که GPO را اعمالشده فهرست میکند هنوز درباره نگاشت چیزی نمیگوید.
پیش از گسترش، کار را برای تکرار ایمن کنید، زیرا سرویسگیر دوباره وصل میشود و وظیفه دوباره فعال میشود. پیش از ساختن، نگاشت یا پیکربندی موجود را بررسی کنید و آنچه یافتید ثبت کنید. کار تکراری پس از هر اتصال مجدد گذرا همان راهی است که یک وظیفه سودمند به رخداد تبدیل میشود.
جایی که محرک خودکار مناسب نیست، اقدام کاربر تأییدشدهای که همان اسکریپت امضاشده را اجرا میکند طراحی مشروعی است. زمانبندی را صریح میکند بهجای اینکه وانمود کند رویداد ورود رخ داده است.