Comment faire échouer TaskScheduler lorsque la tâche renvoie un résultat différent de 0


16

J'ai une tâche de sauvegarde qui échoue avec un résultat différent de zéro, mais le Planificateur de tâches indique qu'il a exécuté la tâche correctement.

Existe-t-il un moyen de dire au Planificateur de tâches que la tâche a échoué?


Salut Pablo, Nous aurons besoin de plus d'informations. Comme comment / quel est le lancement du planificateur de tâches? Un fichier batch, un EXE, autre chose? S'agit-il de la sauvegarde Windows avec laquelle vous avez affaire? Qu'as-tu essayé?
Ƭᴇcʜιᴇ007

1
J'utilise le programme wbadmin pour démarrer la sauvegarde, mais j'ai le même problème avec un fichier de commandes avec une seule instruction «exit 1». Le TaskScheduler inclut le code d'erreur, mais signale que la tâche a été exécutée avec succès.
Pablo Montilla du

Ainsi, le Planificateur de tâches lui-même affiche le code de sortie non nul?
Ƭᴇcʜιᴇ007

3
Oui, mais signale la tâche comme exécutée avec succès. Je suppose que cela signale peut-être qu'il pourrait exécuter la tâche, pas que la tâche elle-même a échoué, mais ne semble pas très utile.
Pablo Montilla

Réponses:


4

Si le Planificateur de tâches lance avec succès la tâche et que le programme lancé se termine, du point de vue du Planificateur de tâches, cela a été un succès (c.-à-d., Rien de mal ne s'est produit comme un échec des informations d'identification de l'utilisateur démarrant le programme).

Normalement, si vous voulez surveiller quelque chose de mauvais qui s'est produit pendant l'exécution d'un programme, vous devez soit envoyer au programme une alerte quelconque (par exemple, par e-mail ou en vous connectant à un fichier que vous réviserez ultérieurement), soit configurer un autre programme pour surveiller quelque chose sur l'exécution du programme qui pourrait indiquer si une erreur s'est produite.

Quel type de notification d'erreur essayez-vous d'obtenir? Faites-vous un examen manuel, mais essayez-vous simplement de faire en sorte que l'erreur soit plus visible? Ou avez-vous un autre programme de surveillance des erreurs?


2
Je pense toujours qu'il est faux d'échouer et de ne pas signaler (ou du moins de donner une option pour signaler) l'échec de la tâche exécutée. Merci!
Pablo Montilla

1
Je suis d'accord qu'il serait utile que le Planificateur de tâches puisse détecter le code de sortie et envoyer un e-mail en fonction du résultat. Mais je ne pense pas qu'il ait cette caractéristique. Essayez-vous de recevoir une alerte par e-mail? Peut-être qu'envelopper le lancement de wbadmin dans un script VBScript ou PowerShell qui détecterait le code de sortie et en ferait quelque chose serait une possibilité pour vous?
Shannon Wagner

1
Ouais, c'est une possibilité. C'est aussi du travail ...;) Espérons que MS pensera que c'est quelque chose d'utile à ajouter à Windows 8.
Pablo Montilla

6
C'est époustouflant pour moi - Le planificateur de tâches a toutes ces options pour configurer le redémarrage d'une action en cas d'échec, mais ne vérifie même pas si une action renvoie un code d'erreur. Je me demande ce qui sur terre constitue réellement un «échec» pour le Planificateur de tâches.
mackenir

À la lumière de cette réponse, je dois demander: le Planificateur de tâches déclenche-t-il même une nouvelle tentative basée sur le code de sortie?
jpmc26

5

Il est possible de "redémarrer" la tâche en cas d'échec.

  1. Utilisez le code suivant dans le script de commandes pour créer un événement d'erreur système:

    eventcreate / ID 100 / SO "Votre nom de script" / L APPLICATION / T ERREUR / D "Votre raison d'échec"

  2. Créez une nouvelle tâche avec un déclencheur qui surveille les événements système et filtrez la catégorie et l'ID que vous venez d'ajouter dans le lot. L'action de cette tâche est à nouveau le lot. Cette tâche doit être retardée d'une minute, afin que le même lot ne soit pas démarré deux fois!

Attention à ne pas créer de boucle infinie.

J'espère que cela pourra aider!


J'aime cette approche :)
DavidPostill
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.