Recommandé, 2024

Choix De L'Éditeur

Fixer tâche programmée ne sera pas exécuté pour le fichier .bat

Si vous avez un fichier .bat et que vous essayez de l'exécuter automatiquement à l'aide du Planificateur de tâches de Windows, vous avez peut-être rencontré le problème suivant: il ne s'exécute tout simplement pas, sauf si vous exécutez la tâche manuellement.

J'ai créé un fichier de commandes qui supprime tout ce qui se trouve dans un dossier temporaire au démarrage de l'ordinateur. J'ai créé une tâche de base dans le Planificateur de tâches et espérais le meilleur. Malheureusement, rien ne s'est passé lorsque mon ordinateur a démarré. Après beaucoup d'essais et d'erreurs, j'ai compris comment exécuter le script.

Dans cet article, je vais vous expliquer les paramètres et les autorisations à modifier pour que votre fichier de traitement puisse s'exécuter sans intervention manuelle.

Étape 1: Vérifier les autorisations de fichiers / dossiers

La première étape de la résolution de ce problème consiste à vérifier que le compte que vous utilisez pour exécuter le script dans Planificateur de tâches dispose d'autorisations Contrôle total sur le dossier contenant le script, le script lui-même et tous les dossiers / fichiers que le script utilise lorsqu'il s'exécute.

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

 set folder = "C: \ test" cd / d% dossier% pour / F "delims =" %% i dans ('dir / b') faire (rmdir "%% i" / s / q || del "% % i "/ s / q) 

J'ai enregistré le fichier .bat dans mon dossier Documents. Le chemin est C: \ Utilisateurs \ nom d'utilisateur \ Documents . Je suis allé à C: \ Users \ nom d'utilisateur, cliqué avec le bouton droit sur le dossier Documents et cliqué sur Propriétés . Puis j'ai cliqué sur l'onglet Sécurité .

Comme vous pouvez le constater, le compte utilisateur Aseem a été explicitement ajouté et doté de l'autorisation Contrôle total . Maintenant, vous devez faire la même chose pour le dossier qui contient 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 va interagir.

Dans mon cas, je devais accéder à C: \ test, cliquer avec le bouton droit de la souris sur ce dossier et y ajouter mon compte d'utilisateur doté d'autorisations de contrôle total. C'est un peu gênant de devoir faire cela, mais c'est le seul moyen de faire exécuter le script.

Remarque : le compte utilisé pour exécuter le script doit faire partie du groupe d' administrateurs local sur l'ordinateur. Dans mon cas, le compte Aseem est un compte administrateur et fait donc partie du groupe Administrateurs local.

Étape 2: Vérifier les paramètres du planificateur de tâches

Passons maintenant au Planificateur de tâches et modifions les paramètres appropriés. Ouvrez le Planificateur de tâches et recherchez votre tâche dans la section Tâches actives . Ils devraient être énumérés dans l'ordre alphabétique.

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

Il y a plusieurs onglets et quelques éléments doivent être vérifiés et modifiés ici. Tout d'abord, sous l'onglet Général, vous devez vérifier le compte d'utilisateur utilisé pour exécuter la tâche. Dans mon cas, il s’agit du compte Aseem, sur lequel j’avais déjà accordé des autorisations sur le système de fichiers et qui fait partie du groupe Administrateurs de l’ordinateur.

Ensuite, vous devez choisir l'option Exécuter si l'utilisateur est connecté ou non, puis choisir Windows Vista, Windows Server 2008 dans la zone Configurer pour .

Sous l'onglet Actions, vous devez sélectionner le script, cliquer sur Modifier, puis ajouter le chemin d'accès au dossier contenant le script dans la zone Démarrer dans (facultatif) . Cela peut sembler inutile, mais ce n’est pas le cas. Dans mon cas, je mets C: \ Users \ Aseem \ Documents \ dans la boîte.

Maintenant, cliquez 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 puisse être exécutée.

Enfin, vous devez exécuter la tâche manuellement une fois dans le Planificateur de tâches pour vous assurer de son exécution. S'il fonctionne correctement après avoir modifié tous les paramètres, il devrait alors 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 d'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 des autorisations suffisantes pour accéder aux ordinateurs distants.

Un autre élément à noter est si votre script accède à des ressources sur un partage réseau. Si votre script utilise des lettres pour accéder au réseau, il risque de ne pas s'exécuter. Par exemple, au lieu d'utiliser F: \ data \, vous devez utiliser \\ nom_ordinateur \ nom_partage \ data \ dans le script. Si vous ne parvenez toujours pas à exécuter votre script, postez un commentaire ici et je tenterai de vous aider. Prendre plaisir!

Top