Aller au contenu principal

Planification de tâches

Sur une machine virtuelle (PAS le contrôleur de domaine), créez un petit script, C:\Test\test.ps1 qui écrit une ligne dans un fichier texte avec la date du jour, par exemple:

New-Item -Path "C:\Test\" -ItemType Directory -Force | Out-Null
$Message = "$(Get-Date) - $env:USERDOMAIN\$env:USERNAME"
$Message | Add-Content -Path "C:\Test\Test.log"

Testez ce script et regardez le fichier contenu du fichier C:\Test\Test.log (avec un éditeur de texte ou, encore mieux, Get-Content).

Avec ce script, tentez plusieurs méthodes pour rendre son exécution automatique au démarrage de session. Planifiez l'exécution du script en utilisant seulement des commandes PowerShell. Testez ensuite le résultat en vous loguant avec un utilisateur et vérifiez dans le fichier C:\Test\Test.log que la méthode a bien fonctionné.

Partie 1: Démarrage de session utilisateur

a) La clé Run

Créez une entrée dans la clé HKLM:\Software\Microsoft\Windows\CurrentVersion\Run pour lancer le script. Après avoir testé, effacez l'entrée.

Testez un démarrage de session et surveillez l'activité dans le fichier log.

Effacez l'entrée une fois terminé.


b) Un raccourci dans le menu démarrer

Faites un script qui crée un raccourci (.LNK) dans C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup.

Testez un démarrage de session et surveillez l'activité dans le fichier log.

Effacez le raccourci une fois terminé.

c) Active Setup

Faites un script qui crée une clé de registre dans HKLM:\Software\Microsoft\Active Setup\Installed Components. Le nom de la clé est à votre discrétion. La clé doit contenir au minimum des entrées Version et StubPath.

Testez un démarrage de session et surveillez l'activité dans le fichier log.

Testez un deuxième démarrage de session pour confirmer que ça n'a fonctionné qu'une seule fois.

d) Le planificateur de tâches

Faites un script qui crée une tâche planifiée qui s'exécute au démarrage de session utilisateur pour lancer le script test.ps1. La tâche doit être exécutée pour chaque utilisateur qui démarre une session et le script doit être lancé à leur nom (le principal doit être le groupe des Utilisateurs locaux, ou S-1-5-32-545).

Testez un démarrage de session et surveillez l'activité dans le fichier log.

Effacez la tâche planifiée.

Partie 2: Tâche de maintenance

Modifiez votre réponse précédente pour lancer le script automatiquement en tant que l'utilisateur SYSTÈME (S-1-5-18).

e) Au démarrage de la machine

Faites en sorte que le script test.ps1 s'exécute automatiquement en tant que SYSTÈME au démarrage du poste.

Redémarrez la machine et notez l'heure. Puis regardez le fichier Log pour confirmer que le script a bien été exécuté.

Supprimez la tâche planifiée.

f) À date et heure fixe

Faites en sorte que le script test.ps1 s'exécute automatiquement à une heure précise une fois par semaine, en tant que l'utilisateur SYSTÈME.

Attendez ce moment puis vérifiez dans le fichier log. Vous pouvez aussi ouvrir le planificateur et lancer manuellement la tâche pour tester.

Effacez la tâche planifiée lorsque c'est terminé.