Situation
J'ai un script batch qui prépare certains fichiers, exécute un programme ( .exe
) puis supprime lesdits fichiers.
Cette tâche doit s'exécuter toutes les heures, j'essaie donc de la configurer à l'aide de tâches planifiées. Le problème est que le programme mentionné précédemment ne fonctionne pas correctement lorsqu'il est appelé à partir de la tâche (ni via le .bat
script, ni lors de l'appel .exe
direct), mais je ne reçois aucun avertissement ou message d'erreur dans les journaux.
Installer
La tâche est configurée pour s'exécuter en tant que compte de service Windows disposant de tous les privilèges correctement définis. Lorsque j'utilise ce compte pour me connecter via RDP, je peux exécuter le .bat
et .exe
directement sans problème, mais la tâche semble toujours ne rien faire. Ceci est facilement observé car le programme modifie toujours un fichier et l' horodatage modifié ne change pas à travers la tâche.
Dans les journaux de tâche planifiée je reçois les messages d'information pour la tâche à partir d' un processus, sortie, etc. Le « code de résultat », cependant, est 111
( a essayé de Google cela sans chance, la seule association que je reçois est « nom de fichier est trop long ", ce qui n'est tout simplement pas pertinent AFAIK). Dans les journaux d'application, je ne reçois absolument rien.
Ce que je soupçonne, c'est le problème
Le programme est une ancienne monstruosité qui génère une sorte d'écran de démarrage (c'est en fait une fenêtre normale), même si l'interface graphique n'est pas nécessaire car elle ne nécessite aucune interaction et se ferme après les opérations. La fenêtre apparaît pendant environ 2 secondes.
Je soupçonne que cette exigence pour une interface graphique a quelque chose à voir avec l'échec de la tâche, mais je ne suis pas sûr. Lorsque je me connecte avec l'utilisateur sous lequel la tâche s'exécute (via RDP), aucune fenêtre n'apparaît lorsque je démarre la tâche planifiée.
Modifier sur l'interface graphique
J'ai construit un très petit exécutable C # qui lance le programme sans la fenêtre principale (en utilisant ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden
). Même de cette façon, la tâche planifiée ne réussit toujours pas à lancer le programme correctement, mais le code retour est maintenant 0
.
Mise à jour
Lorsque je configure la tâche pour dire "exécuter, que l'utilisateur soit connecté ou non", et que l' run with highest privileges
option n'est pas cochée , la valeur d'erreur est 2147943859
.
Que puis-je faire pour dépanner?
OS = Windows Server 2008 R2 SP1
Si plus d'informations sont nécessaires, veuillez me le faire savoir dans les commentaires.
.exe
"programme" avec des paramètres à partir d'un script, l'entrée doit être correctement fournie comme argument.