Di Penjadwal Tugas Windows (Penjadwal Tugas), dimungkinkan untuk menjalankan tugas sesuai jadwal dan saat acara tertentu muncul di log (dijelaskan dalam artikel "Pemicu acara di Windows"). Pada artikel ini, kita akan mencari tahu bagaimana menerapkan mekanisme yang mengimplementasikan otomatis memulai tugas penjadwal setelah menyelesaikan tugas lain. Mari kita pertimbangkan algoritma yang disederhanakan untuk mengatur dependensi untuk meluncurkan tugas penjadwal, yang dapat Anda sesuaikan dengan tugas Anda.
Dalam kasus saya, setelah menyelesaikan satu skrip, perlu menjalankan skrip lain dari bawah pengguna lain. Oleh karena itu, tindakan ini tidak dapat digabungkan dalam satu tugas.
Misalkan kita perlu menjalankan tugas scheduler Pong setelah menyelesaikan penugasan Ping. Saat memulai dan mengakhiri tugas apa pun, informasi tentang peristiwa ini dicatat dalam log sistem. Kami akan fokus pada penampilan acara penyelesaian pekerjaan Ping.
Ayo buka konsolnya Tugas Penjadwal (Taskschd.msc), cari dan pilih acara Ping dan buka tab di panel bawah Sejarah, berisi informasi tentang semua peristiwa yang terkait dengan tugas ini. Kami tertarik pada acara dengan kode 102 (Tugas selesai) - yang dihasilkan setelah tugas selesai.
Mari kita buka uraian terperinci acara dengan membuka tab Detail dan beralih ke mode tampilan acara XML (Tampilan XML) Dengan menggunakan data XML, Anda bisa mendapatkan semua detail acara yang kami perlukan untuk membangun filter. Secara khusus, kami tertarik pada:
EventID: 102
Nama Penyedia: Microsoft-Windows-TaskScheduler
Saluran: Microsoft-Windows-TaskScheduler / Operational
Nama Tugas: \ ping
Saat membuat pemicu untuk pekerjaan Pong, kita harus membuat kondisi pemicu untuk pekerjaan tersebut ketika peristiwa 102 muncul di log (Pemicu pekerjaan Di suatu acara) Tetapi masalahnya adalah bahwa EventID 102 muncul ketika tugas apa pun selesai, dan bukan hanya tugas Ping.
Namun, dimungkinkan untuk membuat kondisi yang lebih fleksibel untuk pemilihan acara (Kebiasaan), ketika filter standar tidak membantu memilih acara dengan cukup jelas. Klik pada tombol Filter acara baru:
Mari kita buat filter acara baru, menentukan data yang diterima sebelumnya dari representasi XML acara.
Log acara: Microsoft-Windows-TaskScheduler / Operational
Sumber acara: Penjadwal Tugas
Kategori tugas: Tugas selesai
Lalu buka tab XML dan kami melihat representasi XML filter (XPath) berikut:
* [Sistem [Penyedia [@ Name = 'Microsoft-Windows-TaskScheduler'] dan Task = 102]]
Kami mengganti kode Xpath dengan log pemfilteran berikut untuk kehadiran acara TaskCompleted dari tugas \ ping:
* [Sistem [Penyedia [@ Name = 'Microsoft-Windows-TaskScheduler'] dan Task = 102]]
Setelah menambahkan acara ini, coba jalankan tugas ping. Setelah selesai, tugas pong harus segera dimulai..
Decoding XPath disajikan di bawah ini.
Artikel ini ditulis berdasarkan bahan publikasi Menjalankan Tugas Terjadwal demi satu (http://blogs.msdn.com/b/davethompson/archive/2011/10/25/running-a-scheduled-task-after-another.aspx)