Вашият потребител влиза вкъщи, свързва се с VPN и чака съпоставянето на диск, което преди се появяваше само в офиса. Тунелът се вдига, домейнът отговаря, а нищо не се съпоставя. Нищо не е счупено: скриптът за вход се изпълнява при вход, а тунел, отворен двадесет минути след началото на сесията, не е вход. Да се четат двете като едно и също събитие кара хората да търсят неизправност във VPN, която не съществува.

Четири решения превръщат изненадата в работещ процес, а първото е просто да знаете на кои събития се крепи един скрипт.

Скриптите се крепят на събития от жизнения цикъл, които не можете да възпроизведете

Политиката от страна на компютъра се прилага при зареждане на машината, а политиката от страна на потребителя — когато някой влезе, докато фоновото обновяване преминава през същите настройки, без да рестартира нищо. Това обновяване обработва разширението за скриптове, но не изпълнява отново отделните скриптове, които се задействат само при стартиране, изключване, вход или изход. Затова gpupdate /force може да отчете успех, докато съпоставянето все още липсва, и чистото обновяване не е доказателство, че скриптът е направил нещо.

Справочникът на Microsoft за обработка на политики очертава точно тази граница между обработката на разширението и изпълнението на това, което то съдържа, и това е страницата, която да цитирате, когато някой настоява, че обновяването е трябвало да възпроизведе скрипта.

Не всеки скрипт се проваля и офлайн. Този, който чете само локални или кеширани материали, може да е частично успял, докато този, който докосва споделен ресурс, се проваля тихо и не оставя очевидна следа. Проверете действителния път на скрипта и до какво стига, преди да обвинявате мрежата. Същата проверка заслужава всяко твърдение, че скрипт не се изпълнява при вход, защото планирана задача или действие на клиента може да върши работата там, където никой не гледа.

Вържете работата към връзката, не към входа

Три различни задачи се крият зад израза скрипт за вход: съпоставяне на диск след свързване на потребителя, прилагане на конфигурация на машината преди някой да влезе, и изтегляне на обновена политика. Те имат различни срокове и само втората наистина се нуждае от свързаност преди вход. Запишете изискването като изречение със срок, например: това съпоставяне трябва да съществува в рамките на минута след вдигане на тунела.

За работа, която трябва да се случи след свързване, използвайте задача, задействана от връзката, или действието за връзка, което клиентът поддържа. Проверете кое събитие клиентът действително излъчва, защото събитие, повдигнато от родния Windows VPN клиент, не се повдига от клиент на трета страна. За конфигурация на машината, която трябва да предхожда входа, поддържаният отговор е тунел за устройство или друг дизайн преди вход, а не задача, която се задейства при появата на работния плот. Изпълнете работата в самоличността и сесията, които се нуждаят от нея, защото съпоставяне, създадено като SYSTEM, попада в сесия, която потребителят никога не вижда.

Тествайте готовността преди действие и се проваляйте шумно

Събитие за връзка може да пристигне преди DNS или файловият сървър да са използваеми, затова задачата трябва да тества какво ѝ трябва, вместо да предполага. Разрешете конкретното име, опитайте конкретната връзка и повторете с граница и закъснение: Resolve-DnsName files.corp.example в кратък цикъл отделя още-не от никога. Съобщете конкретен провал след последния опит, с името и грешката в него.

Безкраен цикъл без лог е неразличим от задача, която никога не е стартирала, и крие разликата между остаряло удостоверение и правило на защитната стена.

Проверете четири неща, после го направете повторяемо

По време на пилота записвайте четири наблюдения вместо едно: събитието за връзка се задейства, задачата стартира, ресурсът отговори и поисканата промяна действително се приложи. Ако логът спира на стартирала задача, истинският провал остава невидим, колкото и да чакате. След това изпълнете gpresult /scope user /v, за да видите каква смята сесията, че е нейната политика, и сравнете това с настройката, която очаквахте. Доклад, който изброява GPO като приложен, все още не казва нищо за съпоставяне.

Направете работата безопасна за повторение, преди да я разширите, защото клиентът се свързва отново и задачата се задейства пак. Проверете за съществуващо съпоставяне или конфигурация преди да го създадете, и запишете какво сте намерили. Дублирана работа след всяко краткотрайно пресвързване е начинът, по който полезна задача се превръща в инцидент.

Когато автоматичен тригер е неподходящ, одобрено потребителско действие, което изпълнява същия подписан скрипт, е законен дизайн. То прави времето явно, вместо да се преструва, че е настъпило събитие за вход.

Подобни статии