Bagaimana membuat TaskScheduler gagal ketika hasil tugas kembali berbeda dari 0

16

Saya memiliki tugas cadangan yang gagal dengan hasil yang tidak nol, namun Penjadwal Tugas mengatakan bahwa tugas itu dijalankan dengan benar.

Apakah ada cara untuk memberi tahu Penjadwal Tugas bahwa tugas gagal?

Pablo Montilla
sumber
Hai Pablo, Kami membutuhkan lebih banyak info. Seperti bagaimana / apa yang diluncurkan oleh penjadwal tugas? File batch, EXE, sesuatu yang lain? Apakah Windows Backup ini yang Anda hadapi? Apa yang sudah kamu coba?
Ƭᴇcʜιᴇ007
1
Saya menggunakan program wbadmin untuk memulai backup, tetapi saya memiliki masalah yang sama dengan file batch dengan pernyataan 'exit 1' tunggal. TaskScheduler termasuk kode kesalahan, tetapi melaporkan Tugas berhasil dijalankan.
Pablo Montilla
Jadi Penjadwal Tugas itu sendiri menunjukkan kode keluar bukan nol?
Ƭᴇcʜιᴇ007
3
Ya, tetapi melaporkan tugas berhasil dilaksanakan. Saya berpendapat bahwa mungkin ini melaporkan bahwa ia dapat menjalankan tugas, bukan bahwa tugas itu sendiri gagal, tetapi tampaknya tidak terlalu berguna.
Pablo Montilla
Lihat juga stackoverflow.com/questions/16969500/…
MiFreidgeim SO-stop evil

Jawaban:

4

Jika Penjadwal Tugas berhasil meluncurkan tugas dan program yang diluncurkan keluar, maka dari sudut pandang Penjadwal Tugas itu berhasil (yaitu, tidak ada yang buruk terjadi seperti kredensial pengguna yang gagal memulai program).

Biasanya jika Anda ingin memantau sesuatu yang buruk yang terjadi selama program dijalankan, Anda dapat meminta program mengirimkan semacam peringatan (misalnya, melalui email atau dengan masuk ke file yang Anda tinjau nanti), atau menyiapkan program lain untuk pantau sesuatu tentang program yang berjalan yang dapat mengindikasikan apakah terjadi kesalahan.

Apa jenis pemberitahuan kesalahan yang Anda coba dapatkan? Apakah Anda melakukan tinjauan manual tetapi hanya mencoba agar kesalahannya lebih terlihat? Atau apakah Anda memiliki program lain untuk memonitor kesalahan?

Shannon Wagner
sumber
2
Tetap saya pikir itu salah untuk gagal dan tidak melaporkan (atau setidaknya memberikan opsi untuk melaporkan) kegagalan dari tugas yang dieksekusi. Terima kasih!
Pablo Montilla
1
Saya setuju itu akan berguna jika Penjadwal Tugas dapat mendeteksi kode keluar dan mengirim email berdasarkan hasilnya. Tapi saya tidak percaya itu memiliki fitur itu. Apakah Anda mencoba mendapatkan peringatan email? Mungkin membungkus peluncuran wbadmin dalam skrip VBScript atau PowerShell yang akan mendeteksi kode keluar dan melakukan sesuatu dengan itu akan menjadi kemungkinan bagi Anda?
Shannon Wagner
1
Yup, itu kemungkinan. Ini juga berfungsi ...;) Semoga MS akan berpikir ini adalah sesuatu yang berguna untuk ditambahkan ke Windows 8.
Pablo Montilla
6
Ini sangat mengejutkan bagi saya - Penjadwal tugas memiliki semua opsi untuk mengonfigurasi restart tindakan jika 'gagal', tetapi bahkan tidak memeriksa apakah suatu tindakan mengembalikan kode kesalahan. Membuat saya bertanya-tanya apa yang sebenarnya merupakan 'kegagalan' Penjadwal Tugas.
mackenir
Sehubungan dengan jawaban ini, saya harus bertanya: apakah Penjadwal Tugas bahkan memicu coba lagi berdasarkan kode keluar?
jpmc26
5

Dimungkinkan untuk "memulai kembali" tugas jika gagal.

  1. Gunakan kode berikut dalam skrip batch untuk membuat acara kesalahan sistem:

    eventcreate / ID 100 / SO "Nama Script Anda" / L APLIKASI / T ERROR / D "Alasan kegagalan Anda"

  2. Buat tugas baru dengan pemicu yang memantau acara sistem dan filter untuk kategori dan ID yang baru saja Anda tambahkan dalam batch. Tindakan tugas ini adalah batch lagi. Tugas ini harus ditunda satu menit, sehingga batch yang sama tidak dimulai dua kali!

Berhati-hatilah untuk tidak membuat loop tak terbatas.

Semoga itu bisa membantu!

schulle877
sumber
Saya suka pendekatan ini :)
DavidPostill