Menu Fermer

Comment créer une tâche planifiée en PowerShell

Sur Windows 10 et Windows 11, le planificateur de tâches est un outil utile qui existe depuis de nombreuses années, et il fournit une interface graphique conviviale pour créer des routines automatisées. Lorsque vous utilisez cet outil, vous pouvez automatiser les tâches pour lancer des applications, exécuter des commandes spécifiques ou exécuter des scripts à un calendrier spécifique ou lorsqu’une condition est remplie.

Dans ce tutoriel, je vous guide à travers les étapes de base pour créer une tâche planifiée à l’aide de commandes PowerShell.

Comment créer une tâche planifiée en PowerShell

Comment créer une tâche planifiée en PowerShell

Une tâche planifiée se compose des éléments suivants.

  • Action – L’action exécutée par la tâche planifiée. Une action consiste généralement à exécuter un programme ou un script. Une tâche planifiée peut avoir plus d’une action
  • Déclencheur – contrôle lorsque la tâche planifiée s’exécute. Les déclencheurs peuvent être basés sur le temps, comme la création d’un calendrier de récidive quotidienne ou horaire. Les déclencheurs peuvent également être basés sur l’activité, qui exécute une tâche basée sur des activités détectées comme le démarrage informatique, un utilisateur se connecte ou des événements enregistrés
  • Sécurité – contrôle le contexte de sécurité utilisé pour exécuter la tâche planifiée. Entre autres choses, un directeur comprend le compte d’utilisateur et le privilège requis utilisé par la tâche planifiée
  • Paramètres – est un ensemble d’options et de conditions qui contrôlent le comportement de la tâche planifiée. Par exemple, vous pouvez personnaliser une tâche pour être supprimée après un nombre consécutif de jours que la tâche n’est pas utilisée

Dans PowerShell, différents cmdlet existent pour les paramétrer.
Ce tutoriel vous fournit toutes les étapes pour y parvenir.

Utiliser New-ScheduledTaskAction pour créer une tâche planifiée

La première étape consiste à créer la tâche planifiée à l’aide du cmdlet New-ScheduledTaskAction.
On lui indique l’exécutable et éventuellement un argument (paramètres ou nom d’un script).

  • Voici la syntaxe à utiliser pour créer la tâche planifiée :
$tacheAction = New-ScheduledTaskAction -Execute 'C:\tools\monoutil.exe' -Argument '-list'
  • Par exemple pour créer une tâche planifiée qui exécute un script batch en PowerShell, il faut spécifier le paramètre /c et le nom du script en Argument :
$tacheAction = New-ScheduledTaskAction -Execute 'cmd.exe' -Argument '/c C:\scripts\moncript.cmd'
  • Ou encore pour ajouter une tâche planifiée pour exécuter un script Powershell :
$tacheAction = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-File C:\script\monscript.ps1'
Comment créer une tâche planifiée en PowerShell

Définir le déclencheur

Ensuite on configure le déclencheur à l’aide du cmdlet New-ScheduledTaskTrigger.
Ce dernier accepte plusieurs paramètres pour définir le déclenchement comme -Daily, -Weekly et les intervalles -DaysInterval, -WeeksInterval :

$taskDeclencheur = New-ScheduledTaskTrigger -Daily -At 3PM

Enregistrez une tâche planifiée qui commence tous les 3 jours :

$taskDeclencheur = New-ScheduledTaskTrigger -Daily -DaysInterval 3 -At 3am

Programmer une tâche planifiée qui se déclechenche toutes les deux semaines, le dimanche à 3h du matin :

$taskDeclencheur = New-ScheduledTaskTrigger -Weekly -WeeksInterval 2 -DaysOfWeek Sunday -At 3am

Enfin pour programmer l’exécution de la tâche planifiée à la connexion d’un utilisateur :

$taskDeclencheur = New-ScheduledTaskTrigger -AtLogon
Comment créer une tâche planifiée en PowerShell

Enregistrer la tâche planifiée

Maintenant que la configuration est faites, on peut enregistrer la tâche planifiée dans le système.
Pour cela, on utilise la commande Register-ScheduledTask `comme ceci :

# Définissez le nom de la tâche planifiée
$tacheNom = "TachePowerShell"

# Description de la tache planifiée
$tacheDescription = "Exemple de création de tâche planifier avec PowerShell"

# Enregistrer la tache planifiée
Register-ScheduledTask -TaskName $tacheNom -Action $tacheAction -Trigger $taskDeclencheur -Description $tacheDescription
Comment créer une tâche planifiée en PowerShell

Exécuter la tâche planifiée

Enfin il ne reste plus qu’à exécuter la tâche planifiée.
Vous pouvez le faire depuis le planificateur de tâche ou avec la commande Start-ScheduledTask en spécifiant la tâche planifiée :

Start-ScheduledTask -TaskName TachePowerShell
Comment créer une tâche planifiée en PowerShell

Enfin pour obtenir les informations :

Get-ScheduledTaskInfo -TaskName TachePowerShell
Comment créer une tâche planifiée en PowerShell