Skip to content

jobRunner.vbs: Sub CheckExports

Const EXMERGE_SUCCESS_STRING = “Successfully completed copying mailbox”
Const EXMERGE_NONFATAL_STRING = “Non fatal errors encountered. Copy process completed for mailbox”
Const EXMERGE_NOTFOUND_STRING = “Ignoring this mailbox”
 

Sub CheckExports
  Dim objDB, sqlQuery

  Set objDB = CreateObject(“ADODB.Connection”)
  Set recordset = CreateObject(“ADODB.Recordset”)
  objDB.Open DB_CONNECT_STRING
  sqlQuery = “select uid, nickname from ” & DB_TABLE_DISABLES & ” where archive_status = ‘queued’”
  recordset.Open sqlQuery, objDB

  Set WshShell = WScript.CreateObject(“WScript.Shell”)
  Set objFS = CreateObject(“Scripting.FileSystemObject”)

  On Error Resume Next  ‘In case the files are being written to by another Sub
  Do While Not recordset.EOF
    uid = recordset.Fields(“uid”)
    WriteLog “Checking archive of ” & uid
    nickname = recordset.Fields(“nickname”)

    searchFileName = UCase(RTrim(nickname)) & “.PST”
    logline = FindLine(searchFileName, server1Log)
    If logLine = “” Then logline = FindLine(searchFileName, server2Log)
 
    If Instr(logLine, EXMERGE_NOTFOUND_STRING) > 0 Then 
      WriteLog “Archive of ” & uid & ” failed”
    ElseIf (Instr(logLine, EXMERGE_SUCCESS_STRING) > 0) Or (Instr(logLine, EXMERGE_NONFATAL_STRING) > 0) Then
      WriteLog “Archive of ” & uid & ” succeeded – moving to PST store.”
      WshShell.Exec “cmd.exe /C move /Y ” & ExmergeFolder & searchFileName & ” ” & PSTShare
      ChangeArchiveStatus uid, “archived”
    End If
    recordset.MoveNext
  Loop
  objDB.Close
  On Error Goto 0

 End Sub