Envoi mail d'alerte si espace disque inférieur à 1go

Contenu du snippet

Bonjour,

ce code m'est très utile pour surveiller mes serveurs, en effet, il parmet de m'envoyer un mail d'alerte dès que l'espace disque est inférieur à 1GO sur une des partitions.
On peut bien sur changer l'espace disque en dessous duquel l'alerte est envoyée.
Il suffit de paramétrer les choses suivantes :
strComputer = "ADRESSE IP DU POSTE A SURVEILLER"

.From = "ADRESSE MAIL D'OU L'ALERTE EST ENVOYEE"

.To = "ADRESSE MAIL DU OU DES DESTINATAIRES DE L'ALERTE"

.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SERVEUR DE MESSAGERIE"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "NOM D'UTILISATEUR DU COMPTE QUI ENVOIE LES MAIL"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "MOT DE PASSE DU COMPTE QUI ENVOIE LES MAILS"

Source / Exemple :


Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim strComputer As String
        Dim objWMIService As Object
        Dim colDisks As Object
        Dim objDisk As Object
        Dim intFreeSpace As String
        Dim FreeSpaceMO As String
        strComputer = "ADRESSE IP DU POSTE A SURVEILLER"
        objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
        colDisks = objWMIService.ExecQuery _
       ("Select * from Win32_LogicalDisk Where DriveType = 3")
        For Each objDisk In colDisks
            intFreeSpace = objDisk.FreeSpace
            FreeSpaceMO = intFreeSpace / 1048576

            If FreeSpaceMO < 1000 Then

                With CreateObject("CDO.Message")
                    .From = "ADRESSE MAIL D'OU L'ALERTE EST ENVOYEE"
                    .To = "ADRESSE MAIL DU OU DES DESTINATAIRES DE L'ALERTE"
                    .Subject = "Notification - Espace disponible inférieur à 1GO sur " & strComputer
                    .TextBody = objDisk.DeviceID & FreeSpaceMO & " MO de Libres"
                    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
                    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SERVEUR DE MESSAGERIE"
                    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "NOM D'UTILISATEUR DU COMPTE QUI ENVOIE LES MAIL"
                    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "MOT DE PASSE DU COMPTE QUI ENVOIE LES MAILS"
                    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
                    .Configuration.Fields.Update()
                    .Send()
                End With
            End If
        Next
        End
    End Sub
End Class

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.