Notifications mail via PowerChute Personal Edition

Cette bidouille permet de s’envoyer des mails lorsque qu’un onduleur, de la gamme APC / compatible avec PowerChute Personal Edition, déclenche un évènement. La bidouille se base ici sur un onduleur APC Back-UPS ES – BE550G-FR relié en USB2 à un Windows 10 24/7…


L’utilisation du journal d’évènements Windows est indispensable, la database utilisée par PCPE étant chiffrée/illisible (sauf via http://www.seltron.net/apc/powerchute.php)…

Il faudra aussi disposer d’un relay SMTP, ou d’un Gmail pour envoyer et recevoir les alertes.

Le script PowerShell en charge de formaliser l’évènement de l’onduleur dans un email:

$latest_ups_event = Get-WinEvent -MaxEvents 1 -FilterHashtable @{ Logname='Application'; ProviderName='APC UPS Service' }
$message = $latest_ups_event.Message
$event_id = $latest_ups_event.Id
$machine_name = $latest_ups_event.MachineName
$source = $latest_ups_event.ProviderName
$time_created = $latest_ups_event.TimeCreated
$timestamp = $time_created.ToString("yyyy-MM-ddTHH:mm:ss.ffffff")
$body = "ID: $event_id`nSource: $source`nMachineName: $machine_name`nTime: $timestamp`nMessage: $message"


Send-MailMessage -From "mail@gmail.com" -To "mail@gmail.com" -Body $Body -Encoding ASCII -Subject "Alert From Back-UPS ES 550G" -SmtpServer '192.168.0.1' -Port 25

Le premier pavé se charge de récupérer le tout dernier évènement déclenché par le fournisseur de logs « APC UPS Service » (celui qui monitor l’onduleur).

Une fois le message récupéré, il est envoyé par mail via le second pavé de code.

Maintenant que le script est créé, il va falloir définir le déclencheur. On va rester corporate et utiliser le Planificateur de Tâches!

Dans « Planificateur de tâches « , via un clic-droit sur Planificateur de tâches > Bibliothèque du Planificateur de tâches, créer une nouvelle tâche…:

Dans l’onglet Général:
– Cocher « Exécuter même si l’utilisateur n’est pas connecté »
– Cocher « Exécuter avec les autorisations maximales »


Dans l’onglet Déclencheurs:
– Cliquer sur Nouveau…
– Dans la fenêtre « Nouveau déclencheur »:

Lancer la tâche: Sur un évènement
Paramètres > Personalisée
Cliquer sur le bouton « Nouveau filtre d’évènement… »

Onglet « Filter » de la fenêtre « Nouveau filtre d’évènement »:
– Connecté: A tout moment
– Niveau d’évènement: Tous! (Critique, Avertissement, Commentaires, Erreur et Information)
– Coche Par journal
– Journaux d’évènements > cocher 1 seul journal: « Journaux Windows > Application »
– Le champ « ID » se dégrise. Y coller cette suite d’IDs:
145,172-177,203,204,61451-61456,61458-61465,61483,61501,61503,61514,61515 (source: https://forums.apc.com/spaces/7/ups-management-devices-powerchute-software/forums/general/11727/powerchute-personal-edition-3-0-2-windows-event-id-list)

On ne touche pas à « Catégorie de la tâche », « Mots clefs », « Utilisateur » ou « Ordinateurs(s) », sauf si l’on en a besoin. On valide donc le nouveau filtre.

Attention, les filtres personnalisés ne sont pas modifiables. Il faut systématiquement effacer l’ancien et en créer un nouveau…

On revient à la fenêtre « Nouveau déclencheur »!
– Paramètres avancés: ne cocher que « Activée »
Valider la création du déclencheur.

On arrive ensuite à l’onglet « Actions » de la tache planifiée. On en créé un « Nouveau… »:
– Action: démarrer un programme
Paramètres
– Programme/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
– Ajouter des arguments: C:\_tools\apc_ups_mailer.ps1 (le script à exécuter)

Valider l’Action.

Pour tous les autres onglets, RAS. On valide la tâche. Un compte Admin sera nécessaire pour terminer sa création.

On peut ensuite exécuter manuellement la tâche pour vérifier son bon fonctionnement:

-------- Message transféré --------
Sujet : 	Alert From Back-UPS ES 550G
Date : 	Fri, 05 Jul 2019 13:00:54 -0700 (PDT)
De : 	my_email@gmail.com
Pour : 	my_email@gmail.com


EventID: 61455
Source: APC UPS Service
MachineName: MachineName
Time: 2019-07-01T14:03:04.335149
Message: Commutation de l'onduleur sur le secteur.

Théoriquement, à chaque évènement issu de la liste extraite des forums d’APC, cet évènement sera envoyé par email! Jusqu’à ce que la batterie soit vide… 😉

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.