web-dev-qa-db-fra.com

La tâche planifiée Windows réussit mais renvoie le résultat 0x1

J'ai une tâche planifiée sur un serveur Windows 2008 R2. La tâche comprend une entrée de répertoire Démarrer dans. La tâche s'exécute et le fichier de commandes qu'il exécute fait ce qu'elle est censée faire. Lorsque j'exécute le fichier de commandes à partir d'une invite de commande, aucune erreur ne se produit. Le problème est que le "résultat de la dernière exécution" est 0x1 (appel de fonction incorrect). 

J'ai eu cela à un moment donné avec une instruction DOS incorrecte IF EXISTS file.txt DO (Copy file.txt file1.txt) qui a été corrigée en supprimant l'instruction DO. Le fichier de commandes actuel ne montre aucune erreur ni aucun avertissement.

Pourquoi ai-je un résultat 0x1?

Fichier de commandes qui est exécuté:

PUSHD \\JUKEBOX4\Archives\CallRecording
REM only move csv and wma together.  wma should be created last.
IF NOT EXIST C:\CallRecording (MKDIR C:\CallRecording)
FOR /f %%f IN ('DIR /b *.wma') DO (
    IF EXIST %%~nf.csv (MOVE /Y %%~nf.* C:\CallRecording\)
)
POPD
CD /D "C:\Program Files (x86)\Olim, LLC\Collybus DR Upload"
CollybusUpload.exe
POPD

Informations sur la configuration de la tâche planifiée:

  • Programme à exécuter: C:\Program Files (x86)\Olim, LLC\Collybus DR Upload\CallRecordingUploadFromH.cmd
  • Commencer dans: C:\Program Files (x86)\Olim, LLC\Collybus DR Upload
  • Exécuter si l'utilisateur est connecté ou non, privilèges les plus élevés.

Écran d'historique, entrée de tâche terminée

"Le planificateur de tâches a terminé avec succès la tâche"\Envoi d'enregistrements d'appels au portail depuis NH ", instance" {1449ad42-2210-427a-bd69-2c15e35340e6} ", action" C:\Windows\SYSTEM32\cmd.exe "avec le code retour 1. "

Le premier écran du Planificateur de tâches affiche le "résultat de l'exécution" de "Succès"

17
user241099

Il semble que de nombreux utilisateurs ont des problèmes avec cela. Voici quelques corrections:

  • Faites un clic droit sur votre tâche> "Propriétés"> "Actions"> "Modifier" | Mettez UNIQUEMENT le nom du fichier sous 'Programme/Script', sans guillemets et SEULEMENT le répertoire sous 'Démarrer dans' comme décrit, encore une fois sans guillemets.

  • Faites un clic droit sur votre tâche> "Propriétés"> "Général" | Testez avec tout ou partie des éléments suivants:

    1. "Exécuter avec les privilèges les plus élevés" (tester les deux options)
    2. "Exécuter si l'utilisateur est connecté ou non" (testez les deux options)
    3. Vérifiez que "Configurer pour" est défini sur la version du système d'exploitation de votre ordinateur.
    4. Assurez-vous que le compte utilisateur exécutant le programme dispose des autorisations appropriées
26
full_prog_full

J'ai eu le même problème. Il ne s'agit que d'un fichier de commandes qui fonctionne au démarrage manuel, mais ne fonctionne pas comme une tâche planifiée.

il y avait des lettres de lecteur dans le fichier batch comme ceci:

put z:\folder\file.ext

semble que vous ne devriez pas utiliser de lettres de lecteur, elles sont liées à l'utilisateur qui les a créées - pour moi, ce petit changement l'a fait fonctionner à nouveau

put \\server\folder\file.ext
2
roeb

J'ai constaté que j'ai coché "Exécuter si l'utilisateur est connecté ou non" et cela renvoie un échec silencieux.

Quand j'ai changé, cochez "Exécuter uniquement lorsque l'utilisateur est connecté" mais cela fonctionne pour moi.

2
lsheng

Cette réponse a été à l'origine modifiée dans la question par le demandeur.


Le problème était que le fichier batch produisait une erreur silencieuse. Le POPD final ne fonctionnait pas et était appelé à tort sans ouverture PUSHD.

Code cassé: 

CD /D "C:\Program Files (x86)\Olim, LLC\Collybus DR Upload" CALL CollybusUpload.exe POPD

Code correct: 

PUSHD "C:\Program Files (x86)\Olim, LLC\Collybus DR Upload" CALL CollybusUpload.exe POPD
1
HPierce

Sur nos serveurs, le problème était lié au chemin du système. Après la mise à niveau de PHP runtime (à l'aide du répertoire d'installation dont le nom comprend le numéro de version) et la mise à jour du chemin dans la variable système PATH, nous avons obtenu le statut 0x1. Le redémarrage du système a corrigé le problème. Redémarrer le service Task Manager l’aurait peut-être fait aussi.

0
Franc Drobnič

Planificateur de tâches Windows (serveur Windows 2008r2)

Même erreur pour moi (résultat de la dernière exécution: 0x1)

Onglets

  1. Action: supprimer les guillemets/doubles guillemets dans

programme/script

et

commencer dans

même s'il y a des espaces dans le nom du chemin ...

  1. Général: 

Courir avec les plus hauts privilèges 

et 

configurer pour votre système d'exploitation ...

Maintenant ça marche!

résultat de la dernière exécution: l'opération s'est terminée avec succès

0
navya

J'exécutais un script PowerShell dans le planificateur de tâches, mais j'avais oublié d'activer la stratégie d'exécution sans restriction, dans une console PowerShell élevée:

Set-ExecutionPolicy Unrestricted

Après cela, l'erreur a disparu (0x1).

0
Jose Ortega

J’ai trouvé que le problème tenait au fait que Powershell ne pouvait pas exécuter de scripts, si c’était le cas pour vous, ici est la solution.

0
Stewert