Hello everyone,
Si vous êtes amenés à créer des tâches planifiées pour exécuter des scripts PowerShell (script de check, d’audit, lancement d’opérations spécifiques…), eh bien notez que vous devez d’abord prendre connaissance de certaines informations pour que vos scripts se déclenchent correctement à l’heure schedulée.
Mon besoin
J’ai besoin de surveiller les changements apportés à un groupe AD à « Haut privilèges » tel que le groupe « Admins du domaine ». L’audit de ce groupe se fera via l’utilisation d’un script PowerShell (basé sur les Cmd-Lets du Module PS ActiveDirectory) et l’envoi de notification par mail se fera simplement via l’utilisation d’un serveur SMTP disponible sur le réseau (Cmd-Let Send-MailMessage).
Pour éviter d’investir du $$ dans une solution tierce de monitoring /alerte, j’utiliserais simplement une tâche planifiée qui exécute mon script d’audit AD chaque heure et qui m’envoi des notifications par mail pour rester informé de toute modification ayant eu lieu sur le groupe Domain Admins.
Comment ça marche ?
Dans l’exemple suivant, une tâche planifiée nommée « DA_Check » (Domain Admins_Check) sera créée, celle-ci sera configurée pour déclencher /exécuter de manière quotidienne le script D:\MyScripts\DA_Checker.ps1
Vous lancez le planificateur de tâches et vous créez votre tâche de manière classique
Arrivée à l’étape illustrée dans l’image ci-après, vous sélectionnez « Démarrer un programme »
Remplissez le champ « Programme/script » en respectant la syntaxe suivante : PowerShell -File « Emplacement_de_votre_script_PS »
Dans notre exemple, le script devant être exécuté par la tâche planifiée est placé dans D:\MyScripts\DA_Checker.ps1, la ligne de code à spécifier est donc :
Eh voilà, le tour est joué :).
A bientôt
HK