Advertisement
Guest User

Untitled

a guest
May 3rd, 2017
472
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Set oWSH = CreateObject("WScript.Shell")
  2. Set oFSO = CreateObject("Scripting.FileSystemObject")
  3. Set oEXE = oWSH.Exec("C:\Windows\System32\repadmin.exe /showrepl * /csv")
  4.  
  5. Set StdOutoEXE = oEXE.StdOut
  6. sCode = StdOutoEXE.ReadAll
  7. cLine = Split(sCode, vbcrlf)
  8.  
  9. Set oEXT = oWSH.Exec("C:\Windows\System32\repadmin.exe /showrepl *")
  10. Set StdOutoEXT = oEXT.StdOut
  11. tCode = StdOutoEXT.ReadAll
  12.  
  13. '   0 = consulta OK, datediff negatiu
  14. '   1 = consulta OK, datediff positiu
  15. '   2 = consulta FAIL
  16. Flag = 0
  17.  
  18. For i = 1 to uBound(cLine) - 1
  19.     dTemp = Split(cLine(i), Chr(34))
  20.        
  21.     If UBound(dTemp) <> 2 Then
  22.         Flag = 2
  23.         'Something gonne ERROR
  24.         Exit For
  25.     Else
  26.         cDestSite   = Split(dTemp(0), ",")(1)
  27.         cDestSrv    = Split(dTemp(0), ",")(2)
  28.         cNaming     = dTemp(1)
  29.         cSourceSite = Split(dTemp(2), ",")(1)
  30.         cSourceSrv  = Split(dTemp(2), ",")(2)
  31.         cTransport  = Split(dTemp(2), ",")(3)
  32.         cNumFails   = Split(dTemp(2), ",")(4)
  33.         cLastFail   = Split(dTemp(2), ",")(5)
  34.         cLastOk     = Split(dTemp(2), ",")(6)
  35.         cLastStatus = Split(dTemp(2), ",")(7)
  36.         cDateDiff   = DateDiff("s", cDate(cLastOk), cDate(cLastFail))
  37.        
  38.         If cDateDiff > 0 Then
  39.             Flag = 1
  40.         End If
  41.     End If
  42. Next
  43.  
  44. Set F = oFSO.CreateTextFile("C:\scripts\replication_status.csv")
  45.     F.Write sCode
  46. F.Close
  47.  
  48. If Flag > 0 Then
  49.     Call SendMail("Replication Status = FAILURE", tCode, True)
  50. Else
  51.     Call SendMail("Replication Status = OK!", tCode, True)
  52. End If
  53.  
  54. Function SendMail(txtSubject, txtBody, attach)
  55.     oCDO = "http://schemas.microsoft.com/cdo/configuration/"
  56.     Set oMSG = CreateObject("CDO.Message")
  57.         oMSG.Subject = txtSubject
  58.         oMSG.From = "monitoring@mydomain.com"
  59.         oMSG.To = "sysadmin@mydomain.com"
  60.         oMSG.Cc = "myboss@mydomain.com"
  61.         oMSG.TextBody = txtBody
  62.         If attach = True Then
  63.             oMSG.AddAttachment "C:\scripts\replication_status.csv"
  64.         End If
  65.         With oMSG.Configuration.Fields
  66.             .Item (oCDO & "sendusing") = 2
  67.             .Item (oCDO & "smtpserverport") = 25
  68.             .Item (oCDO & "smtpauthenticate") = 1
  69.             .Item (oCDO & "smtpconnectiontimeout") = 60
  70.             .Item (oCDO & "sendusername") = "monitoring@mydomain.com"
  71.             .Item (oCDO & "sendpassword") = "mypassw0rd"
  72.             .Item (oCDO & "smtpserver") = "mail.mydomain.com"
  73.             .Item (oCDO & "smtpusessl") = False
  74.             .Update
  75.         End With
  76.     oMSG.Send
  77. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement