Correction de la tâche planifiée ne s'exécutera pas pour .Fichier de chauve-souris

Correction de la tâche planifiée ne s'exécutera pas pour .Fichier de chauve-souris

Si tu as un .Fichier BAT et vous essayez de faire fonctionner automatiquement en utilisant le planificateur de tâches dans Windows, vous avez peut-être rencontré le problème où il ne s'exécute tout simplement que si vous exécutez manuellement la tâche.

J'ai créé un fichier batch qui supprime tout 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 et j'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 faire fonctionner le script.

Table des matières

    Dans cet article, je vais vous guider à travers les paramètres et les autorisations que vous devez ajuster afin de faire fonctionner votre fichier de lots sans intervention manuelle.

    Étape 1: Vérifiez les autorisations de fichier / dossier

    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 Task Scheduler a des autorisations de contrôle complètes 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 de lot suivant ci-dessous:

    set dosder = "c: \ test" cd / d% dossier% pour / f "Delims =" %% i in ('dir / b') do (rmdir "%% i" / s / q || del "% % i "/ s / q)

    J'ai sauvé le .Fichier de chauve-souris dans mon dossier de documents. Le chemin est C: \ Users \ Username \ Documents. Je suis allé à C: \ Users \ Username, clic droit sur le Documents dossier et cliqué sur Propriétés. Ensuite, j'ai cliqué sur le Sécurité languette.

    Double-cliquez dessus et cela ouvrira la tâche par elle-même dans la même fenêtre. Afin de modifier la tâche, vous devrez cliquer avec le bouton droit sur le bouton droit et choisir Propriétés.

    Il y a plusieurs onglets et quelques choses doivent vérifier et changer ici. Premièrement, sur le Général onglet, vous devez vérifier le compte d'utilisateur qui est utilisé pour exécuter la tâche. Dans mon cas, c'est le Asem compte, auquel j'avais donné des autorisations au plus tôt sur le système de fichiers et qui fait partie du groupe des administrateurs sur l'ordinateur.

    Ensuite, vous devez choisir le Exécuter si l'utilisateur est connecté ou non option et choisissez Windows Vista, Windows Server 2008 dans le Configurer pour boîte.

    Sur le Actions onglet, vous devez sélectionner le script, cliquez sur Modifier puis ajouter le chemin du dossier contenant le script dans thE Démarrer (Facultatif) boîte. Cela peut sembler inutile, mais ce n'est pas. Dans mon cas, j'ai mis C: \ Users \ asem \ Documents \ dans la boite.

    Maintenant cliquez sur D'ACCORD Pour enregistrer les paramètres. Lorsque vous faites cela, une boîte de dialogue peut apparaître où vous devez saisir 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 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 Task Scheduler pour vous assurer qu'il s'exécute. S'il s'exécute bien manuellement après avoir changé tous les paramètres, alors 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 l'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 peut ne pas s'exécuter. Par exemple, au lieu d'utiliser F: \ data \, Tu devrais utiliser \\ machinename \ share_name \ data \ dans le script. Si vous ne pouvez toujours pas faire fonctionner votre script, postez un commentaire ici et j'essaierai d'aider. Apprécier!