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
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.