Créer une tâche planifiée pour redémarrer un service Windows
Parfois, sur des applications particulières, il peut être nécessaire d’avoir besoin de redémarrer un service de façon hebdomadaire ou quotidienne.
Pour ça, nous pouvons créer un fichier bat avec les commandes qui permette le redémarrage du service (NET STOP / NET START), mais il est également possible de le faire directement depuis le planificateur de tâche, sans avoir à créer un script. C’est ce que nous allons voir aujourd’hui.
Nous prendrons l’exemple du service spouleur d’impression.
Récupération du nom du service
Depuis le gestionnaire de service, sélectionner votre service puis afficher les propriétés.
Récupérer le nom du service, c’est ce nom qui vous permettra d’agir sur le service en ligne de commande (Démarrer / Arrêter)
Création de la tâche planifiée
Lancer le planificateur de tâche avec la commande « taskschd.msc ».
Commencer par créer une tâche vierge.
Donner lui un nom, et sélectionner « Exécuter même si l’utilisateur n’est pas connecté ». Cela permettra à la tâche de s’exécuter même si la session utilisateur est fermée.
Puis, dans l’onglet « Action », ajouter trois actions.
- La première pour arrêter le service : NET STOP « Nom_du_service »
- La deuxième pour faire une tempo : TIMEOUT /T 5 (Ou 5 est le nombre de secondes pour la tempo)
- La troisième pour démarrer le service : NET START « Nom_du_service »
Ce qui devrait donner quelque chose comme ça :
Ensuite, dans l’onglet « Déclencheurs », vous pouvez configurer la planification de votre tâche en fonction de votre besoin.
Tester la tâche planifiée
Vous n’avez plus qu’à tester l’exécution de votre tâche en vérifiant que le service redémarre bien (depuis la console des services, ou encore de l’observateur d’événements).