Ping script with email in vbs

Posted by matthias on Stack Overflow See other posts from Stack Overflow or by matthias
Published on 2010-06-16T12:39:12Z Indexed on 2010/06/16 12:42 UTC
Read the original article Hit count: 180

Filed under:
|
|

Hello,

i know i ask the question about the ping script but now i have a new question about it :-) I hope someone can help me again.

strText = "here comes the mail message"

strFile = "test.log"

PingForever strHost, strFile

Sub PingForever(strHost, outputfile)
    Dim Output, Shell, strCommand, ReturnCode

    Set Output = CreateObject("Scripting.FileSystemObject").OpenTextFile(outputfile, 8, True)
    Set Shell = CreateObject("wscript.shell")
    strCommand = "ping -n 1 -w 300 " & strHost
    While(True)
        ReturnCode = Shell.Run(strCommand, 0, True)     
        If ReturnCode = 0 Then
            Output.WriteLine Date() & " - " & Time & " | " & strHost & " - ONLINE"
        Else
            Output.WriteLine Date() & " - " & Time & " | " & strHost & " - OFFLINE"

            Set objEmail = CreateObject("CDO.Message")
            objEmail.From = "[email protected]"
            objEmail.To = "[email protected]"
            objEmail.Subject = "Computer" & strHost & " is offline" 
            objEmail.Textbody = strText
            objEmail.Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            objEmail.Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
                    "smtpadress" 
            objEmail.Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
            objEmail.Configuration.Fields.Update
            objEmail.Send

        End If
        Wscript.Sleep 2000
    Wend
End Sub

My problem is now, the mail comes all 2 seconds, when the computer are offline. Can someone show me how to make it with flags? So only one mail comes when its offline?

Thanks for your help.

© Stack Overflow or respective owner

Related posts about vbscript

Related posts about mail