Je suis confronté à un problème étrange. J'ai planifié une tâche pour lancer un fichier batch. Lorsque j'exécute la tâche avec l'option, Run only when user is logged on
tout fonctionne correctement. mais je veux exécuter cette tâche en arrière-plan et par conséquent je l'exécute en utilisant l'option Run whether user is logged on or not
. Maintenant, lorsque j'exécute la tâche, cela ne fonctionne pas. J'obtiens 2 erreurs suivantes. Je ne comprends pas cette erreur. S'il te plaît, aide-moi à résoudre ce problème.
Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667.
Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon" task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667.
Réponses:
J'ai eu ce même problème.
La solution pour moi a été trouvée dans l'article 2452723 de la base de connaissances Microsoft:
Les tâches planifiées à partir de Windows Vista ne s’exécutent pas si le chemin dans le champ «Démarrer dans (facultatif)» contient des guillemets
En gros, modifiez votre tâche planifiée et supprimez les devis du champ Démarrer dans:
Pour obtenir le message d'erreur correspondant:
1) Convertir 2147942667 en hexadécimal: 8007010B
2) Prendre les 4 derniers chiffres (010B) et convertir en décimal: 267
3) Exécuter: net helpmsg 267
4) Résultat: "Le nom du répertoire n'est pas valide."
la source
Run whether user is logged on or not
de l'exécution avec l'option , j'utilisais un utilisateur différent pour exécuter l'application. Ce nouvel utilisateur n'avait pas les autorisations appropriées pour lire les données et donc l'erreur. Merci."C:\Some Path\"
, c'est faux car il a des guillemets. Il doit dire `C: \ Some Path` (sans guillemets).Pour moi, c'était le "Démarrer dans" - j'ai copié les valeurs d'un serveur plus ancien et mis à jour le chemin vers le nouvel emplacement .exe, mais j'ai oublié de mettre à jour l'emplacement "démarrer dans" - s'il n'existe pas, vous obtenir cette erreur aussi
Citant le commentaire de @ hans-passant ci-dessus, car il est utile pour déboguer ce problème:
la source
Cela peut se produire pour plus d'une raison. Dans mon cas, cela s'est produit en raison d'un problème d'autorisations. L'utilisateur sous lequel la tâche s'exécutait n'avait pas l'autorisation d'écrire dans le répertoire des journaux et a donc échoué avec cette erreur.
la source
J'ai eu le même problème, sous Windows7.
J'obtenais l'erreur 2147942667 et un rapport indiquant que je ne pouvais pas exécuter c: \ windows \ system32 \ CMD.EXE. J'ai essayé avec et sans guillemets doubles dans le script et le démarrage et cela n'a fait aucune différence. Ensuite, j'ai essayé de remplacer toutes les références de chemin aux lecteurs réseau mappés et par des références UNC (\ Server1 \ Sharexx \ my_scripts \ run_this.cmd) et cela a résolu le problème pour moi. Tapoter.
la source
Pour une réponse plus générique, convertissez la valeur d'erreur en hexadécimal, puis recherchez la valeur hexadécimale dans les constantes d'erreur et de réussite du planificateur de tâches Windows
la source
2147942667
HEX:0x8007010B
. Cette valeur n'apparaît pas dans le lien que vous avez fourni. Juste pour info, bien sûr.2147942667 in hex
. Google est maintenant aussi une calculatrice.Pour moi, c'était le "Start In" - j'ai accidentellement laissé le ".py" à la fin du nom de mon programme. Et j'ai oublié de mettre en majuscule le nom du dossier dans lequel il se trouvait («Apps»).
la source
Pour moi, cela était dû à la variable d'environnement PATH de l'utilisateur, qui ne semblait pas fonctionner même si l'utilisateur était correct, j'ai donc dû mettre le chemin complet de l'exécutable dans le champ du programme.
la source