În Planificatorul de sarcini al Windows (Task Scheduler), este posibilă executarea sarcinilor atât la un program, cât și la apariția unui anumit eveniment în jurnal (descris în articolul "Triggers de evenimente în Windows"). În acest articol, vom afla cum să implementăm un mecanism care pornește automat lucrarea planificatorului când o altă sarcină este finalizată. Luați în considerare un algoritm simplificat pentru setarea dependențelor de programare a planificatorului de sarcini, pe care le puteți adapta la sarcina dvs.
În cazul meu, a fost necesar după finalizarea unui script pentru a rula un alt script de la un alt utilizator. Prin urmare, aceste acțiuni nu au putut fi combinate într-o singură sarcină.
Să presupunem că trebuie să executăm lucrarea Pong Scheduler după finalizarea lucrării Ping. Când porniți și terminați orice activitate, sistemul înregistrează informații despre acest eveniment. Vom fi doar ghidați de apariția evenimentului de finalizare a misiunii Ping.
Deschideți consola TaskScheduler (Taskschd.msc), găsiți și selectați evenimentul Ping, iar în panoul de jos mergeți la fila Istoric. Informații despre toate evenimentele asociate cu această sarcină. Suntem interesați de evenimentul cu codul 102 (Task completed) - care este generat după finalizarea sarcinii.
Să deschidem descrierea detaliată a evenimentului făcând clic pe fila Detalii și schimbând modul de vizualizare XML al evenimentului (Vizualizare XML). Cu ajutorul datelor XML, puteți obține toate detaliile unui eveniment de care avem nevoie pentru a construi un filtru. În special, suntem interesați de:
Atunci când creați un declanșator pentru o lucrare Pong, trebuie să creați o condiție pentru ca sarcina să se declanșeze atunci când evenimentul 102 apare în jurnal (pe declanșator de evenimente). Dar problema este că EventID 102 apare atunci când îndepliniți orice sarcină, nu doar Ping.Cu toate acestea, este posibil să se creeze condiții mai flexibile pentru selectarea evenimentelor (personalizat), atunci când filtrul standard nu ajută la selectarea unui eveniment destul de clar. Faceți clic pe butonul Filtru evenimente noi:
Creați un nou filtru de evenimente, specificând datele primite anterior din vizualizarea XML a evenimentului.
Jurnal evenimente. Microsoft-Windows-TaskScheduler / Operational
Sursă eveniment. TaskScheduler
Categoria de sarcini. Activitatea a fost finalizată
Apoi mergem la fila XML și vedem reprezentarea XML a filtrului (XPath):Să schimbăm codul Xpath în următorul jurnal de filtrare pentru evenimentul TaskCompleted din lucrarea \ ping:
După adăugarea acestui eveniment, încercați să executați sarcina de ping. La finalizarea acestuia, task-ul pong ar trebui să înceapă imediat.Interpretarea lui XPath este prezentată mai jos.
Host Host Desktop
Curățarea automată a jurnalelor IIS cu PowerShell
Rezolvăm problema conectării la serverul VPN L2TP / IPSec în spatele NAT
Rezoluție: 1346 x 733 56 interogări. 0,756 sec 23,41 MB
MAXCACHE: 0,4MB / 0,00036 sec