Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Set oWSH = CreateObject("WScript.Shell")
- Set oFSO = CreateObject("Scripting.FileSystemObject")
- Set oEXE = oWSH.Exec("C:\Windows\System32\repadmin.exe /showrepl * /csv")
- Set StdOutoEXE = oEXE.StdOut
- sCode = StdOutoEXE.ReadAll
- cLine = Split(sCode, vbcrlf)
- Set oEXT = oWSH.Exec("C:\Windows\System32\repadmin.exe /showrepl *")
- Set StdOutoEXT = oEXT.StdOut
- tCode = StdOutoEXT.ReadAll
- ' 0 = consulta OK, datediff negatiu
- ' 1 = consulta OK, datediff positiu
- ' 2 = consulta FAIL
- Flag = 0
- For i = 1 to uBound(cLine) - 1
- dTemp = Split(cLine(i), Chr(34))
- If UBound(dTemp) <> 2 Then
- Flag = 2
- 'Something gonne ERROR
- Exit For
- Else
- cDestSite = Split(dTemp(0), ",")(1)
- cDestSrv = Split(dTemp(0), ",")(2)
- cNaming = dTemp(1)
- cSourceSite = Split(dTemp(2), ",")(1)
- cSourceSrv = Split(dTemp(2), ",")(2)
- cTransport = Split(dTemp(2), ",")(3)
- cNumFails = Split(dTemp(2), ",")(4)
- cLastFail = Split(dTemp(2), ",")(5)
- cLastOk = Split(dTemp(2), ",")(6)
- cLastStatus = Split(dTemp(2), ",")(7)
- cDateDiff = DateDiff("s", cDate(cLastOk), cDate(cLastFail))
- If cDateDiff > 0 Then
- Flag = 1
- End If
- End If
- Next
- Set F = oFSO.CreateTextFile("C:\scripts\replication_status.csv")
- F.Write sCode
- F.Close
- If Flag > 0 Then
- Call SendMail("Replication Status = FAILURE", tCode, True)
- Else
- Call SendMail("Replication Status = OK!", tCode, True)
- End If
- Function SendMail(txtSubject, txtBody, attach)
- oCDO = "http://schemas.microsoft.com/cdo/configuration/"
- Set oMSG = CreateObject("CDO.Message")
- oMSG.Subject = txtSubject
- oMSG.From = "monitoring@mydomain.com"
- oMSG.To = "sysadmin@mydomain.com"
- oMSG.Cc = "myboss@mydomain.com"
- oMSG.TextBody = txtBody
- If attach = True Then
- oMSG.AddAttachment "C:\scripts\replication_status.csv"
- End If
- With oMSG.Configuration.Fields
- .Item (oCDO & "sendusing") = 2
- .Item (oCDO & "smtpserverport") = 25
- .Item (oCDO & "smtpauthenticate") = 1
- .Item (oCDO & "smtpconnectiontimeout") = 60
- .Item (oCDO & "sendusername") = "monitoring@mydomain.com"
- .Item (oCDO & "sendpassword") = "mypassw0rd"
- .Item (oCDO & "smtpserver") = "mail.mydomain.com"
- .Item (oCDO & "smtpusessl") = False
- .Update
- End With
- oMSG.Send
- End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement