Come far fallire TaskScheduler quando l'attività restituisce risultati diversi da 0


16

Ho un'attività di backup che non riesce con un risultato diverso da zero, ma l'Utilità di pianificazione dice che ha eseguito correttamente l'attività.

C'è un modo per dire all'Utilità di pianificazione che l'attività non è riuscita?


Ciao Pablo, avremo bisogno di maggiori informazioni. Come come / che cosa sta lanciando l'utilità di pianificazione? Un file batch, un EXE, qualcos'altro? Questo backup di Windows di cui ti occupi? Che cosa hai provato?
Ƭᴇcʜιᴇ007,

1
Sto usando il programma wbadmin per avviare il backup, ma ho lo stesso problema con un file batch con una singola istruzione "exit 1". TaskScheduler include il codice di errore, ma segnala l'attività eseguita correttamente.
Pablo Montilla,

Quindi lo stesso Utilità di pianificazione mostra il codice di uscita diverso da zero?
Ƭᴇcʜιᴇ007,

3
Sì, ma riporta l'attività come eseguita correttamente. Capisco che forse sta segnalando che potrebbe eseguire l'attività, non che l'attività stessa sia fallita, ma non sembra molto utile.
Pablo Montilla,

Risposte:


4

Se l'Utilità di pianificazione avvia l'attività correttamente e il programma avviato viene chiuso, dal punto di vista dell'Utilità di pianificazione ha avuto esito positivo (ovvero, non è accaduto nulla di male come una credenziale utente non riuscita che avvia il programma).

Normalmente se si desidera monitorare qualcosa di brutto che è accaduto durante l'esecuzione di un programma, il programma dovrebbe inviare un avviso di qualche tipo (ad esempio, via e-mail o accedendo a un file che verrà successivamente rivisto), oppure impostare un altro programma su monitorare qualcosa sull'esecuzione del programma che potrebbe indicare se si è verificato un errore.

Che tipo di notifica di un errore stai cercando di ottenere? Stai eseguendo una revisione manuale ma stai solo cercando di rendere più evidente l'errore? O hai un altro programma di monitoraggio per errori?


2
Penso comunque che sia sbagliato fallire e non segnalare (o almeno dare un'opzione per segnalare) il fallimento dell'attività eseguita. Grazie!
Pablo Montilla,

1
Sono d'accordo che sarebbe utile se l'Utilità di pianificazione potesse rilevare il codice di uscita e inviare un'e-mail in base al risultato. Ma non credo che abbia quella caratteristica. Stai cercando di ricevere un avviso via email? Forse concludere il lancio di wbadmin in uno script VBScript o PowerShell in grado di rilevare il codice di uscita e fare qualcosa con esso sarebbe una possibilità per te?
Shannon Wagner,

1
Sì, questa è una possibilità. Funziona anche ...;) Speriamo che MS penserà che questo sia qualcosa di utile da aggiungere a Windows 8.
Pablo Montilla,

6
Questo è strabiliante per me - L'utilità di pianificazione ha tutte quelle opzioni per configurare il riavvio di un'azione nel caso in cui "fallisca", ma non controlla nemmeno se un'azione restituisce un codice di errore. Mi chiedo cosa diavolo costituisca effettivamente un "fallimento" per l'Utilità di pianificazione.
mackenir,

Alla luce di questa risposta, devo chiedere: l'Utilità di pianificazione attiva anche un nuovo tentativo basato sul codice di uscita?
jpmc26

5

È possibile "riavviare" l'attività se non riesce.

  1. Utilizzare il seguente codice nello script batch per creare un evento di errore di sistema:

    eventcreate / ID 100 / SO "Nome script" / L APPLICAZIONE / T ERRORE / D "Motivo dell'errore"

  2. Crea una nuova attività con un trigger che monitora gli eventi di sistema e filtra la categoria e l'ID appena aggiunti nel batch. L'azione di questa attività è di nuovo il batch. Questa attività dovrebbe essere ritardata di un minuto, in modo che lo stesso batch non venga avviato due volte!

Fare attenzione a non creare un ciclo infinito.

Spero possa aiutare!


Mi piace questo approccio :)
DavidPostill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.