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 srbdb@czs.fr -To noc@czs.fr -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
.