Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== Envoyer un mail lors de l'arrêt d'une VM ====== <label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/06/12 12:19// Lorsque des utilisateurs avec des droits d'administration travaillent sur un serveur, il peut arriver que certains confondent ''Se déconnecter du serveur'' avec ''Arrêter le serveur''. Voici un petit script que j'avais écris, il y a quelques années, afin d'avertir des responsables lorsque des VM venait à être s'éteindre. <sxh powershell># Script de notification d'arrêt de VM # Extraction des informations du journal d'évènement Get-WinEvent -Path 'C:\Windows\System32\winevt\Logs\Microsoft-Windows-Hyper-V-Worker-Admin.evtx' -MaxEvents 10 | Where-Object {$_.ID -eq 18508} | Export-CSV c:\Scripts\ID18508.csv -Encoding UTF8 -UseCulture # Test de la présence du fichier crypté contenant le mot de passe pour envoi mail sinon création If (-not (Test-Path ".\mdp.securestring")) { Read-Host -AsSecureString | ConvertFrom-SecureString | Out-File -FilePath mdp.securestring } # Envoi du mail de notification $Codage = [System.Text.Encoding]::UTF8 $ServeurSMTP = server.mail.tld $SMTPPort = 25 $AuthSMTP = "admin@mail.tld" $MDPCryptFile = ".\mdp.securestring" $SecureStringPassword = Get-Content -Path $MDPCryptFile | ConvertTo-SecureString $EmailCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $AuthSMTP,$SecureStringPassword $Destinataire = @("responsable1@mail.tld","responsable2@mail.tld") $Expediteur = "admin@mail.tld" $Sujet = "Notification d'arrêt d'une machine virtuelle" $Body = "Notification automatique d'arrêt d'une VM. Voir document joint." $PieceJointe = ".\ID18508.csv" Send-MailMessage -From $Expediteur -To $Destinataire -Subject $Sujet -Body $Body -SmtpServer $ServeurSMTP -Port $SMTPPort -Credential $EmailCredential -Attachments $PieceJointe -Encoding $Codage # Suppression du CSV Remove-Item -Path .\ID18508.csv -Force</sxh> Il est nécessaire de modifier le script avec les informations de messagerie voulues et de l'exécuter une première fois afin d'enregistrer et de chiffrer le mot de passe de messagerie. Il ne reste plus qu'à le lier à une tâche planifiée, s'exécutant à chaque détection de l'évènement 18508. ~~DISCUSSION~~ hvvm_downnotif.txt Dernière modification : 2021/07/27 11:17de nekan