Si vous avez un fichier .BAT et que vous essayez de l'exécuter automatiquement à l'aide de Task Scheduler dans Windows, vous avez peut-être rencontré le problème où il ne s'exécute tout simplement pas à moins que vous exécutiez manuellement la tâche. p>
J'ai créé un fichier batch qui supprime tout dans un dossier temporaire à chaque démarrage de l'ordinateur. J'ai créé une tâche de base dans le planificateur de tâches et j'ai espéré le meilleur. Malheureusement, rien ne s'est passé quand mon ordinateur a démarré. Après beaucoup d'essais et d'erreurs, j'ai compris comment lancer le script.
Dans cet article, je vais vous guider à travers les paramètres et les permissions que vous devez ajuster pour obtenir
Étape 1: Vérification des autorisations de fichier / dossier
La première étape pour résoudre ce problème consiste à vérifier que le compte que vous utilisez pour exécuter le script dans le planificateur de tâches a des autorisations Contrôle total 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 suivant: / p>
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 \ nom_utilisateur \ Documents. Je suis allé à C: \ Utilisateurs \ nom d'utilisateur, cliqué avec le bouton droit sur le dossier Documents, et cliqué sur Propriétés. Ensuite, j'ai cliqué sur l'onglet Sécurité.
Comme vous pouvez le voir, le compte utilisateur Aseem a été explicitement ajouté et a reçu 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 que si vous donnez des permissions au dossier contenant le script, vous êtes prêt, 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 aller à C: \ test, faites un clic droit sur ce dossier et ajoutez mon compte utilisateur avec les autorisations de contrôle total. C'est un peu ennuyeux de devoir le faire, mais c'est le seul moyen d'exécuter le script.
Remarque: le compte utilisé pour s'exécuter le script doit faire partie du groupe local Administrateurssur l'ordinateur. Dans mon cas, le compte Aseem est un compte administrateur et fait donc partie du groupe Administrateurs local.
Étape 2: Vérification des 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 trouvez votre tâche dans la section Tâches actives. Ils doivent être listés par 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 avec le bouton droit de la souris et choisir Propriétés.
Il y a plusieurs onglets et un certain nombre de choses doivent être vérifiées et changées ici. Premièrement, dans 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 Aseemauquel j'avais accordé des autorisations plus tôt sur le système de fichiers et qui fait partie du groupe Administrateurs sur l'ordinateur.
Ensuite, vous devez choisir l'option Exécuter si l'utilisateur est connecté ou nonet choisir Windows Vista, Windows Server 2008dans la zone Configurer pour.
Sur les actionsonglet, vous devez sélectionner le script, cliquez sur Modifier, puis ajoutez le chemin d'accès au dossier contenant le script dans la boîte e Démarrer dans (facultatif). Cela peut sembler inutile, mais ce n'est pas le cas. Dans mon cas, je mets dans C: \ Users \ Aseem \ Documents \dans la boîte.
Maintenant, cliquez sur OKpour enregistrer les paramètres. Lorsque vous faites cela, une boîte de dialogue peut apparaître où vous devez entrer le mot de passe pour le compte d'utilisateur qui exécutera la tâche. Cela soulève une autre exigence. Vous ne pouvez pas utiliser un compte qui n'a pas de 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 pour s'assurer qu'il fonctionne. Si elle s'exécute manuellement après avoir modifié tous les paramètres, elle doit s'exécuter lorsqu'elle est supposée être déclenchée. Dans mon cas, c'était supposé arriver au démarrage et après avoir fait les changements, tout a bien fonctionné.
Notez que si votre script est Lorsque vous accédez à 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 a 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 risque de ne pas fonctionner. Par exemple, au lieu d'utiliser F: \ data \, vous devez utiliser \\ nom_ordinateur \ nom_partage \ data \dans le script. Si vous ne pouvez toujours pas exécuter votre script, postez un commentaire ici et j'essaierai de vous aider. Profitez-en!