L'ordonnanceur de tâche de Windows ne démarre pas la tâche de fichier par lot

j'ai un fichier batch avec le code ci-dessous pour arrêter et démarrer le service de rapport SQL:

net stop "SQL Server Reporting Services (MSSQLSERVER)" 

timeout /t 10

net start "SQL Server Reporting Services (MSSQLSERVER)"

j'ai mis en place la tâche programmée pour exécuter quotidiennement, il fonctionne actuellement comme système avec les plus hautes privilèges définis. J'ai mis en place l'option start in folder sur l'action, et tout semble généralement être mis en place correctement. Mais quand je dirige la tâche rien ne semble se produire, il dit que la tâche a fonctionné mais je ne peux pas voir que le service a été redémarré comme il est prévu de.

Quelqu'un peut-il me dire ce que je rate? Merci

21
demandé sur jimminybob 2013-10-11 16:45:11

13 réponses

assurez-vous de mettre le Commencer et 'programme / script' options correctement. Si votre adresse de fichier est: C:\Temp\foo.chauve-souris, réglez le "démarrer dans" option "C:\Temp" et le "Programme/script "option" foo.chauve-souris".

pour définir l'option 'Start in': clic droit tâche dans le planificateur de tâches > Properties > Actions > Edit.

si cela seul ne fonctionne pas alors essayer de déplacer le .bat file vers un répertoire avec des permissions de base (peut-être un répertoire partagé pour exemple.)

j'ai eu un problème où mon .le fichier bat était situé dans un dossier avec quelques permissions restrictives dessus, de sorte que seul mon compte d'utilisateur pouvait y accéder. Même si j'avais mis en place le planificateur de tâches pour utiliser mes pouvoirs, il n'a toujours pas. Le déplacement de la .fichier bat à un autre répertoire trié la question.

58
répondu ninjaPixel 2013-12-01 20:42:40

perdu beaucoup de temps sur cette stupide question!

ajouter une commande cd à l'endroit où votre fichier batch se trouve à la première ligne de votre fichier batch et voir si elle résout le problème.

cd D:\wherever\yourBatch\fileIs

astuce: veuillez utiliser des chemins absolus, les chemins relatifs ne devraient pas être un problème, mais scheduler a du mal à les comprendre.

9
répondu MoMo 2017-09-15 20:26:27

j'ai eu le même problème. Je crois que c'est un privilège problème. Si vous avez sélectionné" exécuter seulement lorsque l'utilisateur est connecté", alors cela n'arrivera pas.

Vous avez certainement pensé à elle, mais je voulais l'enregistrer ici pour la prochaine personne qui a perdu des heures sur ce.

5
répondu Suhaib Ahmed 2014-11-03 07:39:15

C'est un assez vieux thread mais le problème est toujours le même -

j'ai essayé plusieurs choses, aucun d'entre eux travaillaient -

  1. ajout D'un début dans le chemin (sans guillemets)
  2. supprimé le chemin complet du fichier batch dans le programme / Script champ etc
  3. Ajouté C:\Windows\system32\cmd.exe au programme et ajouté /c myscript.bat au champ arguments.

C'est ce qui a fonctionné pour moi -

Zone Programme / Script - cmd

ajouter des Arguments - / c myscript.chauve-souris

Démarrer Dans : Chemin de myscript.chauve-souris

4
répondu smitraa 2017-02-25 07:03:20

avait le même problème, assurez-vous de vérifier "exécuter seulement lorsque l'utilisateur est connecté" au moins c'est ce qui a rendu mon fichier bat vivant à nouveau.

3
répondu Gabo 2016-01-27 18:47:37

Set 'programme / script' -- > fichier.chauve-souris set Commencer le reste du chemin d'accès (fichier.chauve-souris)

2
répondu widoz 2014-08-26 11:34:08

La solution est que vous devez décocher (désactiver) l'option "Exécuter seulement si l'utilisateur est connecté".

après ce changement, il commence à fonctionner sur ma machine.

2
répondu Ljuba 2016-02-05 21:17:51

Pour moi, le problème a été causé par l' .bat inclus cd un lecteur réseau. Cela a échoué, et puis l'appel plus tard au programme dans ce lecteur de réseau n'a rien fait.

j'ai compris cela en ajoutant > log.txt dans le ajouter des arguments champ modifier l'action fenêtre pour la tâche.

2
répondu Gregorio 2017-12-14 16:02:18

Une solution est que vous pouvez exécuter votre '.bat' le fichier '.vbs' le fichier et vous pouvez exécuter ce fichier vbs planificateur de tâches windows.

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("cron_jobs.bat"), 0, True

Tu peux faire comme cela et j'espère que ça va résoudre votre problème.

1
répondu sherin.k 2016-12-07 06:16:03

essayez le code ci-dessous:

fichier batch.chauve-souris:

cd c:\batchfilepath
net stop "SQL Server Reporting Services (MSSQLSERVER)" 
timeout /t 10
net start "SQL Server Reporting Services (MSSQLSERVER)"
1
répondu aditya garg 2017-05-19 01:41:00

j'ai eu le même problème et aucune des solutions n'a fonctionné. Quand j'ai vérifié l'histoire, j'ai compris la question. J'ai eu cet avertissement

Task Scheduler did not launch task "\TASK_NAME"  because instance "{34a206d4-7fce-3895-bfcd-2456f6ed6533}"  of the same task is already running.

dans l'onglet Paramètres, il y a une option "si la tâche est déjà en cours d'exécution, alors la règle suivante s'applique:" et la valeur par défaut est "Ne démarrez pas une nouvelle instance". Changez cela pour" exécuter une nouvelle instance en parallèle "ou" arrêter l'instance existante " en fonction de ce que vous devez réellement faire.

je sais que c'est un vieux le fil et les solutions multiples sont bons ici, c'est exactement ce qui a fonctionné pour moi. Espérons que cela aide.

1
répondu octafbr 2018-04-03 09:20:21

Pour moi, c'était de déclencher question. Par défaut, il devrait On a Schedule dans l'onglet déclencheur. J'avais choisi At log on et puis j'ai attendu pour exécuter la tâche. Comme son nom l'indique au journal sur, signifie que vous devez vous déconnecter et vous connecter.

essayez de le mettre sur un horaire et de le tirer chaque minute.

enter image description here

0
répondu shyammakwana.me 2017-09-03 22:07:17

mon application n'a pas démarré via "Task Scheduler".

l'erreur dans "Event Viewer" est:System.IO.DirectoryNotFoundException

le" planificateur de tâches "essaie d'exécuter cette application avec l'utilisateur" système". Le problème était qu'un" lecteur réseau "n'était pas mappé pour l'utilisateur" système". Donc, ce que j'ai fait, j'ai créé un ".chauve-souris" de fichiers et cartographié le "lecteur réseau" avant de lancer l'application:

net use T: \172.20.2.215\images
cd C:\MyApplication
start MyApplication.exe

Vérifiez d'abord vos logs: "Event Viewer" - > Windows Logs -> Application

0
répondu Tadej 2018-04-25 10:48:33