Le planificateur de tâches de Windows peut être un outil très utile pour exécuter vos scripts PowerShell au démarrage, à la connexion, selon un calendrier ou d’autres événements.
C’est un tutoriel étape par étape sur la façon dont vous pouvez le faire dans Windows 10, mais les étapes de ce guide s’appliquent à tous les systèmes d’exploitation clients et serveurs Windows modernes. Le planificateur de tâches de Windows est un programme Windows intégré par défaut, donc aucune installation de logiciel supplémentaire n’est nécessaire.
Voici comment procéder
- Démarrez le planificateur de tâches de Windows, cela peut être fait en le recherchant, ou en exécutant (START+R) taskschd.msc.
- Cliquez avec le bouton droit sur la bibliothèque du planificateur de tâches, puis sélectionnez Créer une tâche….. Une fenêtre popup avec les onglets Général, Déclencheurs, Actions, Conditions et Paramètres apparaîtra.
Dans l’onglet « Général »
- Dans l’onglet Général donnez un nom à votre tâche en remplissant le champ Nom.
- Cochez Exécuter si l’utilisateur est connecté ou non sous Options de sécurité
- Cochez Exécuter avec les privilèges les plus élevés
Dans l’onglet « Déclencheurs »
Dans l’onglet Déclencheurs vous avez de nombreuses options pour savoir quand vous voulez que cette tâche s’exécute, mais dans cet exemple je vais utiliser Sur un planning.
- Sélectionnez Nouveau puis sélectionnez Sur un planning sous Commencer la tâche :
- Vous pouvez ici sélectionner ce qui vous convient, mais il y a deux choses importantes à retenir. La première est de sélectionner Activé en bas et la seconde est de faire en sorte que l’heure et la date de début soient dans le futur. Si l’heure de début est dépassée au moment de la création de la tâche, celle-ci ne sera jamais exécutée, et ne sera jamais ré-exécutée. Chaque fois que vous reconfigurez la tâche, vous devez également régler l’heure pour qu’elle soit dans le futur.
- Cliquez sur OK
Dans l’onglet « Actions »
- dans l’onglet Action, sélectionnez Nouveau et remplissez comme suit:
Programme/script :C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
C’est le lien vers votre fichier powershell.exe, même si vous avez une version plus récente, il se trouve dans le dossier v1.0.
Ajouter des arguments (facultatif):-noprofile -executionpolicy bypass -file
"C:\powershell_script\test.ps1"
(remplacer par le chemin du fichier script).
Le paramètre-noprofile
démarre PowerShell sans aucun profil
Le paramètre-executionpolicy bypass
Est le contournement de toute restriction imposée par la politique d’exécution, cela devrait être sûr si vous connaissez votre code.
Le paramètre-file
est pour ouvrir un fichier. (votre fichier script .ps1) - Cliquez sur OK. Vous serez invité à entrer les informations d’identification de l’utilisateur qui doit exécuter le script, cet utilisateur doit avoir des droits d’administration.
Tester la tâche
Un bon test à faire si vous voulez voir que cela fonctionne est de faire un script simple qui sort la date et l’heure actuelles dans un fichier texte.
Get-Date >> "c:\powershell_script\testlogg.txt"