Hello !!!
J'avais un client avec des coupures électriques fréquente qui généré des difficultés aussi bien sur la vidéo surveillance que sur la perte des sauvegarde distante. Donc après quelques recherche je me suis mis en quête d'un script d'émission de mail en cas de non contact d'une IP distante.
Voici pour les plus aguerri le script VB qui permet d'alerter en cas de coupure réseau.
Option Explicit
Dim objFSO, objTextFile
Dim NomFichier, CheminFichier, CheminScriptActuel, ScriptFileName, Position
Dim objWMIService, strComputer, varNetworkAddress, objItem, colItems
Dim oMailServer,sslUser, sslPassword, objEmail
'Déclaration des constantes
Const ForReading = 1
Const ForWritting = 2
Const ForAppending = 8
oMailServer = "ssl0.ovh.net"
sslUser = "script@pro86.org"
sslPassword = "******"
strComputer = "."
varNetworkAddress = "192.167.2.250"
NomFichier = varNetworkAddress & "_Resultat.txt"
CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1)
CheminFichier = CheminScriptActuel & "\" & NomFichier 'Déclaration du chemin et du nom du fichier
If Len(CheminFichier) > 0 Then
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PingStatus where address = '" & varNetworkAddress & + "'",,48)
For Each objItem in colItems
if IsNull(objItem.ResponseTime) Then
If not FileExists(CheminFichier) Then
Set objTextFile = objFSO.OpenTextFile(CheminFichier, ForWritting, True)
sendMail "script@pro86.org", "gerald@gbappli.fr", "Perte de connexion sur " & varNetworkAddress, "Impossible de joindre l'adresse vous serez informé lors du rétablissement."
objTextFile.Close 'Fermeture du fichier
End if
Else
If FileExists(CheminFichier) Then
sendMail "script@pro86.org", "gerald@gbappli.fr", "Rétablisssement de la connexion sur " & varNetworkAddress, "Impossible de joindre l'adresse vous serez informé lors du rétablissement."
objFSO.DeleteFile(CheminFichier)
End if
end if
Next
Set colItems = Nothing
Set objTextFile = Nothing
Set objFSO = Nothing
Else
Wscript.echo "Operation annulee"
End If 'CheminFichier
'---------------------------------------------------------
' FONCTION By GBAPPLI
'---------------------------------------------------------
Function sendMail(strFrom, strTo, strSubject, strMail)
Set objEmail = CreateObject("CDO.Message")
objEmail.From = strFrom
objEmail.To = strTo
objEmail.Subject = strSubject
objEmail.Textbody = strMail
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = oMailServer
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = sslUser
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = sslPassword
objEmail.Configuration.Fields.Update
objEmail.Send
End Function
Function FileExists(FilePath)
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(FilePath) Then
FileExists=CBool(1)
Else
FileExists=CBool(0)
End If
End Function