Skip to content

Scheduling

Le scheduler, planificateur de tâches en français, permet d'exécuter une action à un moment défini.

Objectifs

À la fin de ce chapitre, vous serez capable de :

  • Expliquer le principe d’une tâche planifiée (action + déclencheur + enregistrement).
  • Créer une action et un déclencheur via les cmdlets ScheduledTasks.
  • Enregistrer une tâche avec Register-ScheduledTask.

Dans l'exemple ci-dessous, l'ouverture du fichier test-classe.csv avec notepad.exe, doit s'exécuter une fois à 17h

image

Pour pouvoir ajouter une tâche dans le planificateur avec un script, il y a plusieurs étapes à effectuer

La première est de définir une action (action)

image

Pour le code, on doit définir une variable

powershell
$action=New-ScheduledTaskAction -Execute 'notepad.exe' -Argument 's:\test-classe.csv'

Si on veut lancer un script, on utilisera powershell.exe et le script avec son chemin comme argument

La seconde est de définir le déclencheur (trigger)

image

Pour le code, on définit aussi une variable

powershell
$trigger=New-ScheduledTaskTrigger -Once -At $hour

Dans cet exemple, la tâche s'exécutera une fois et l'heure d'exécution est définie dans les paramètres du script $hour

Enfin pour la troisième étape, il faut enregistrer la tâche avec les variables définies

image

Pour le code, on utilise la cmdlet Register-ScheduledTask pour l'enregistrement de la tâche

powershell
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $taskName -TaskPath $taskPath -Description $desc

Info

Le nom, le chemin et la description sont définis dans des variables, mais on pourrait aussi les passer en paramètres!

Dans ISE, le lancement du script donne :

image

Résumé

  • Une tâche planifiée combine une action, un trigger, puis un enregistrement.
  • Les cmdlets New-ScheduledTaskAction / New-ScheduledTaskTrigger construisent les objets nécessaires.
  • Register-ScheduledTask finalise la création avec nom, chemin et description.