mercredi 2 octobre 2019

Notification par mail des sauvegardes Windows Server


Depuis Windows Server 2008, vous pouvez mettre en place des sauvegardes de votre serveur. C’est une très bonne chose, le point négatif c’est qu’on ne peut pas configurer le système pour recevoir une notification lorsqu’une sauvegarde échoue ou réussie.
Heureusement, il existe une façon de « contourner » ce problème, grâce aux tâches planifiées.
Dans la théorie, on peut dire à Windows de déclencher une tâche planifiée en fonction d’un événement (réussite ou échec de la sauvegarde Windows dans notre cas).
Sauf que l’action « envoyer un courrier électronique » étant déconseillée, on ne peut pas l’utiliser.


On va donc utiliser l’action « démarrer un programme » pour lancer un script powershell contenant :
send-mailmessage -from "expediteur@votresociete.fr" -to "destinataire@votresociete.fr" -subject "Sauvegarde du controleur de domaine reussie" -body "La sauvegarde du controleur de domaine s'est correctement deroulee" -smtpServer smtp.votresociete.fr
Pour la tâche planifiée qui vous notifie lorsque la sauvegarde s’est correctement déroulée :
Créez une tâche planifiée qui démarre si un événement spécifique est enregistré.
Ensuite on choisit le journal Microsoft-Windows-Backup/Operational, la source Backup et l’ID 4.
On lui dit de démarrer un programme qui est Powershell.exe et on lui ajout les arguments suivants :
-noprofile -executionpolicy Unrestricted -file C:\chemin_de_votre_script\sauvegarde_ok.ps1
Pensez à sélectionner Exécuter même si l’utilisateur n’est pas connecté.
Créez une 2eme tâche planifiée sur le modèle de la 1ere pour la notification en cas d’échec. Remplacer l’ID 4 par ceux-ci (dans les propriétés de la tache, vous pouvez  ajouter plusieurs déclencheurs) : 5, 8, 9, 17, 20, 22, 49, 50, 52, 100, 517, 518, 521, 527, 528, 544, 545, 546, 561, 564, 612.
Bien sur il faudra aussi adapter le script powershell tel que :
send-mailmessage -from "expediteur@votresociete.fr" -to "destinataire@votresociete.fr" -subject "Sauvegarde du controleur de domaine echoue" -body "La sauvegarde du  controleur de domaine a echoue. Voir les logs sur le serveur" -smtpServer smtp.votresociete.fr

N’hésitez pas à lancer manuellement vos tâches pour effectuer un test et vous assurer que vous recevez bien le mail.
Autre script possible avec authentification SMTP :
$From = « expediteur@votresociete.fr »
$To = « destinataire@votresociete.fr »
$SMTPServer = « adresse du votre smtp »
$SMTPPort = « 25 »
$Username = « toto »
$Password = « password »
$subject = « Sauvegarde du serveur reussie »
$body = « La sauvegarde du serveur s’est correctement deroulee »
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.Send($From, $To, $subject, $body);

Aucun commentaire:

Enregistrer un commentaire