Correction de la tâche planifiée ne s'exécutant pas pour le fichier .BAT

Si vous avez un fichier .BAT et que vous essayez de le faire fonctionner automatiquement à l'aide du Planificateur de tâches(Task Scheduler) dans Windows , vous avez peut-être rencontré le problème où il ne s'exécute tout simplement pas à moins que vous n'exécutiez manuellement la tâche.

J'ai créé un fichier de commandes qui supprime tout ce qui se trouve dans un dossier temporaire chaque fois que l'ordinateur démarre. J'ai créé une tâche de base dans le planificateur de tâches(Task Scheduler) et j'espérais le meilleur. Malheureusement, rien ne s'est passé lorsque mon ordinateur a démarré. Après de nombreux essais et erreurs, j'ai compris comment exécuter le script.

Dans cet article, je vais vous expliquer les paramètres et les autorisations que vous devez ajuster pour que votre fichier de commandes s'exécute sans intervention manuelle.

Étape 1 : Vérifier les autorisations File/Folder

La première étape pour résoudre ce problème consiste à s'assurer que le compte que vous utilisez pour exécuter le script dans le Planificateur de tâches(Task Scheduler) dispose des autorisations Contrôle total(Full Control) sur le dossier contenant le script, le script lui-même et tous les dossiers/fichiers que le script touche lorsqu'il s'exécute.

Par exemple, j'ai créé le script batch suivant ci-dessous :

set folder="C:\test"
cd /d %folder%
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)

J'ai enregistré le fichier .BAT dans mon dossier Documents. Le chemin est C:\Users\username\Documents . Je suis allé dans C:\Users\username, j'ai cliqué avec le bouton droit sur le dossier Documents et j'ai cliqué sur (Documents)Properties . Ensuite, j'ai cliqué sur l' onglet Sécurité .(Security)

Comme vous pouvez le voir, le compte d'utilisateur Aseem a été explicitement ajouté et a reçu l' autorisation Contrôle total.(Full Control) Vous devez maintenant faire la même chose pour le dossier contenant le script et pour le script lui-même. Ne supposez pas simplement que si vous accordez des autorisations au dossier contenant le script, vous êtes prêt à partir, car vous ne l'êtes pas. Enfin, définissez des autorisations sur tous les fichiers et dossiers avec lesquels le script interagira.

Dans mon cas, je devais aller sur C:\test , cliquer avec le bouton droit sur ce dossier et y ajouter mon compte d'utilisateur avec les autorisations Full Control . C'est un peu ennuyeux que vous deviez faire cela, mais c'est le seul moyen d'exécuter le script.

Remarque : Le compte utilisé pour exécuter le script doit faire partie du groupe Administrateurs local sur l'ordinateur. Dans mon cas, le compte Aseem est un compte administrateur et fait donc partie du groupe Administrateurs local. (Note: The account that is being used to run the script has to be part of the local Administrators group on the computer. In my case, the Aseem account is an administrator account and therefore part of the local Administrators group. )

Étape 2 : Vérifiez les paramètres du planificateur de tâches(Task Scheduler Settings)

Passons maintenant au Planificateur de tâches(Task Scheduler) et modifions-y les paramètres appropriés. Ouvrez le Planificateur de tâches(Task Scheduler) et recherchez votre tâche dans la section Tâches actives( Active Tasks) . Ils doivent être classés par ordre alphabétique.

Double-cliquez dessus et il ouvrira la tâche d'elle-même dans la même fenêtre. Pour modifier la tâche, vous devrez cliquer dessus avec le bouton droit de la souris et choisir Propriétés(Properties) .

Il y a plusieurs onglets et quelques éléments doivent être vérifiés et modifiés ici. Tout d'abord, dans l' onglet Général(General) , vous devez vérifier le compte d'utilisateur utilisé pour exécuter la tâche. Dans mon cas, c'est le compte Aseem , auquel j'avais donné des autorisations plus tôt sur le système de fichiers et qui fait partie du groupe Administrateurs(Administrators) sur l'ordinateur.

Ensuite, vous devez choisir l' option Exécuter si l'utilisateur est connecté ou non( Run whether user is logged on or not) et choisir Windows Vista, Windows Server 2008 dans la case Configurer pour(Configure for) .

Dans l' onglet Actions , vous devez sélectionner le script, cliquer sur Modifier(Edit) puis ajouter le chemin d'accès au dossier contenant le script dans la case Démarrer dans (optionnel)(e Start in (optional)) . Cela peut sembler inutile, mais ce n'est pas le cas. Dans mon cas, j'ai mis C:\Users\Aseem\Documents\ dans la case.

Cliquez maintenant sur OK pour enregistrer les paramètres. Lorsque vous faites cela, une boîte de dialogue peut apparaître dans laquelle vous devez entrer le mot de passe du compte d'utilisateur qui exécutera la tâche. Cela soulève une autre exigence. Vous ne pouvez pas utiliser un compte sans mot de passe. Le compte d'utilisateur doit avoir un mot de passe pour que la tâche s'exécute.

Enfin, vous devez exécuter la tâche manuellement une fois dans le planificateur de tâches(Task Scheduler) pour vous assurer qu'elle s'exécute. S'il fonctionne correctement manuellement après avoir modifié tous les paramètres, il devrait s'exécuter lorsqu'il est censé être déclenché. Dans mon cas, cela devait se produire au démarrage et après avoir apporté les modifications, tout a bien fonctionné.

Notez que si votre script accède à différents ordinateurs dans un domaine lors de son exécution, vous devez essayer d'utiliser le compte d'administrateur de domaine pour exécuter la tâche. Cela garantira que le compte dispose de suffisamment d'autorisations pour accéder aux ordinateurs distants.

Un autre élément à noter est si votre script accède aux ressources sur un partage réseau. Si votre script utilise des lettres pour accéder au réseau, il se peut qu'il ne s'exécute pas. Par exemple, au lieu d'utiliser F:\data\ , vous devez utiliser \\machinename\share_name\data\ Â dans le script. Si vous ne parvenez toujours pas à exécuter votre script, postez un commentaire ici et j'essaierai de vous aider. Profitez!



About the author

Un téléphone est l'un des outils les plus polyvalents qu'une personne puisse posséder et utiliser. Il est permis aux gens de communiquer avec les autres, d'accéder à Internet et de faire beaucoup d'autres choses. Avec un iPhone ou un appareil Android, vous pouvez même regarder des vidéos et télécharger de la musique. Un téléphone est également idéal pour prendre des photos, surfer sur le Web, écouter de la musique, etc.



Related posts