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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 305 fois - Téléchargée 30 fois

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

Ajouter un commentaire Commentaires
Messages postés
358
Date d'inscription
dimanche 8 février 2004
Statut
Modérateur
Dernière intervention
9 octobre 2017
1
Salut!

Je viens de tester ce script et j'ai une erreur:
C:\scripts\test2.wsf(34, 2) Windows Script Host: Référence d'entité non terminée
- ';' correspondant non trouvé

sais-tu d'où cela peut venir?

c'est à priori detecté à la fin du script...

une idée pour solutionner le probleme?

Cdt

Tempusus
Admin CS
Messages postés
1
Date d'inscription
lundi 15 avril 2002
Statut
Membre
Dernière intervention
4 octobre 2007

Bonjour à tous,
je suis on ne peut plus débutante dans le sujet, et j'ai essayé de lancer ton script mais ça ne marche pas, j'ai une erreur dès la ligne 1 :
line :1
char : 9
error : expected identifier
code : 800A03F2
Source : Microsoft VBScript compilation error
Messages postés
4
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
12 juillet 2006

ok. merci
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
1
Nom un service tour,e forcément en permanance, tu dois juste le démarrer ou le stopper avec le controle ServiceController.
Messages postés
4
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
12 juillet 2006

OK. mais après ? cad, il faut qu'il tourne en permanence ce pg, comment faire ?
PS : je ne suis pas du tout un expert en info.

merci
Afficher les 10 commentaires

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.