Comment exécuter automatiquement un script PowerShell sur un poste client à heure fixe ou lors d’un événement particulier tel que le login/logout ?
Bien sûr, nous allons utiliser le planificateur de tâches de Windows. Vous pourrez donc réaliser cette opération sur Windows 7, Windows 8 mais bien entendu également sur Windows Server.
Pour l’exemple, il nous faut bien entendu un script à planifier. Je vous propose ces quelques lignes qui vont afficher un popup avec la date et l’heure du jour.
[System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”) $dateoftheday = get-date -uformat "%d-%m-%Y" $timeofthemoment = get-date -uformat "%H:%M" [Windows.Forms.MessageBox]::Show(“Coucou ! Nous sommes le $dateoftheday et il est $timeofthemoment.”, “Coucou c'est moi”, [Windows.Forms.MessageBoxButtons]::OK, [Windows.Forms.MessageBoxIcon]::Information)
Démarrez le planificateur de tâches.
Une fois dans la fenêtre principale, je vous recommander d’éviter l’option créer une tâche « basique » mais plutôt créer une tâche, « normale » si je puis dire.
Vous devriez voir la fenêtre suivante :
Il n’est pas nécessaire de remplir l’ensemble des options. Sur cette première fenêtre, vous n’avez qu’à simplement renseigner un nom pour votre tâche programmée. Dans mon cas, je l’appelle « Display Popup« .
Passez ensuite sur le second onglet, Triggers. C’est là que nous allons pouvoir définir quand et sous quelle identité notre tâche devra s’exécuter. Vous pouvez choisir d’exécuter cette tâche à un jour et une heure précise mais pour notre exemple imaginons que nous voulons l’exécuter à chaque fois qu’un utilisateur démarre son ordinateur, après qu’il se soit identifié avec son compte.
Nous sélectionner dans le premier menu déroulant « At log on » pour que la tâche démarre dès que l’utilisateur s’identifie sur son poste et que sa session s’ouvre. Si votre tâche nécessite par exemple des droits administrateurs, vous pouvez définir le compte sous lequel elle doit s’exécuter.
Les autres options sont superflues.
Mais sachez que vous pouvez par exemple :
Veillez bien entendu à cocher la dernière option « Activée« /Enabled pour que votre tâche soit active.
Nous passons maintenant au troisième onglet « Actions« .
Sélectionner « Démarrer un programme » dans le menu déroulant « Action« .
Pour exécuter un script PowerShell, il nous suffit de préciser que nous voulons exécuter le prompt Powershell.exe ainsi que le chemin où se trouve notre script PowerShell.
Notez que pour cet exemple, j’ai déposé tout simplement le script à la racine du disque C:\.
C’est terminer votre tâche est prête à s’exécuter.
Vous pouvez afficher les différentes options qui vous sont proposées par les deux derniers onglets.
Cela n’a pas d’utilité particulière pour notre exemple mais vous remarquerez que vous pouvez tout de même gérer plusieurs cas intéressants :
Pour vérifier que notre tâche fonctionne correctement, il ne vous reste plus qu’à vous déconnecter de votre ordinateur.
Menu démarrer, se déconnecter puis vous re-connecter à votre session à saisissant à nouveau votre identifiant/mot de passe.
Vous devriez voir le popup suivant :
D’une manière plus générale, sachez que peu importe la tâche que vous créez vous pouvez forcer son exécution au moment que vous souhaitez pour en tester le bon fonctionnement.
Il vous suffit de la sélectionner dans la fenêtre principale du planificateur de tâches, puis dans le panneau latéral à droite, vous pouvez : exécuter, terminer (pour forcer l’arrêt) ou bien la désactiver temporairement.
Focus Cell : Nouvelle fonctionnalité dans Microsoft Excel pour améliorer votre productivité Nouvelle fonctionnalité «…
OpenAI envisage de lancer son propre navigateur, une menace pour Google ou Microsoft ? OpenAI,…
Microsoft annonce les mises à jour à chaud « Hotpatch » pour Windows 11 24H2 ! Microsoft…
Mise en situation du produit Windows 365 Link par microsoft Microsoft s’apprête à révolutionner le…
Google est au cœur d’une bataille juridique antitrust majeure avec le ministère américain de la…
Microsoft 365 : l'abonnement mensuel pour les entreprises va augmenter (encore) Microsoft vient d'annoncer une…