Un script pour tester l'accès à une IP
Un petit VBScript sous Windows pour alerter par mail en cas de coupure réseau.
28 juin, 2022 par
Un script pour tester l'accès à une IP
GBi86 & GBAppli, Gérald BRILLETEAU
| aucun commentaire pour l'instant

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
Un script pour tester l'accès à une IP
GBi86 & GBAppli, Gérald BRILLETEAU 28 juin, 2022
Partager ce poste
Étiquettes
Se connecter pour laisser un commentaire.