logo powershell

Win Server > Planifier l’envoi de mail avec PowerShell

Imaginons que vous exécutez un script tous les soirs afin d’optimiser votre base de données. Mais que chaque matin, vous devez vous connecter afin de vérifier la bonne exécution de celui-ci. Ne serait-ce pas plus pratique de recevoir le fichier log par mail ?

Nous allons programmer l’envoi de mail d’un fichier logs par mail avec PowerShell.

Étape 1 : Création du script PowerShell

La commande utilisée pour l’envoie de mail est Send-MailMessage, complétée par les arguments suivants :

-From : L'adresse d'envoi
-To : Destinataire du mail
-Subject : Sujet du mail
-Body : Corps du mail
-SmtpServer : Serveur SMTP :)
-Attachments : Pièce jointe
-BodyAsHTML : Format du mail en HTML

Créez votre script PS :

Send-MailMessage -SmtpServer MySMTPServer -From [email protected] -To [email protected] -Subject "Rapport Optimisation DB" -Body "Logs en pièce jointe." -Attachments "C:\scripts\optimDB\optimdb.log" -BodyAsHtml

Étape 2 : Création de la tâche planifiée

Ouvrir le Planificateur de tâches > Créer une tâche de base :

Planifiez votre tâche à votre convenance :

Dans la fenêtre Action > Démarrer un programme :

Ensuite, renseigner les informations du programme à exécuter :

Programme/script : chemin du programme PS > C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Arguments : Chemin du script PS

Exécutez une fois la tâche, pour faire un test. N’oubliez pas d’activer l’exécution de la tâche même lorsque vous n’êtes pas connecté dans les Propriétés de la tâche.

Vous pouvez également planifier votre tâche directement avec PowerShell avec les commandes : New-ScheduledTaskTrigger et Register-ScheduledTask.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *