Sub PrintLog()

Die Subroutine PrintLog() dient ganz allgemein der Skript Ausgabe von Status- oder Fehlermeldunegn. Was ausgegeben werden soll, wird im Parameter strMessage übergeben und wie etwas ausgegeben werden soll, wird im Parameter ErrNum übergeben.

Sub PrintLog(ByVal ErrNum, ByVal strMessage)
    Dim strErrText
    If ErrNum = -1 Then
        Wscript.Echo strMessage
        Exit Sub
    End If
    If (ErrNum <> 0) Then
        strErrText = " - ErrNum: 0x" & CStr(Hex(ErrNum))
        If Err.Description <> "" Then
            strErrText = strErrText & " - ErrDesc: " & Err.Description
        End If
        strMessage = strMessage & strErrText
    End If

    Wscript.Echo strMessage
    oLogFile.Writeline strMessage
End Sub

Wird im Parameter ErrNum -1 übergeben, dann erfolgt nur eine Ausgabe von strMessage auf die Konsole.
Wird im Parameter ErrNum 0 übergeben, dann erfolgt keine Auswertung eines möglichen Fehlers, sondern strMessage wird in unsere Logdatei geschrieben.
Wird im Parameter ErrNum eine Fehlernummer übergeben, dann wird die in der Skripting Engine hinterlegte Fehlernummer zusammen mit einer eventuell verfügbaren Fehler Beschreibung Err.Description an strMessage angefügt und in die Logdatei geschrieben.

Aufrufbeispiele:

Set oRoot = GetObject("LDAP://rootDSE")
If Err.Number Then
    PrintLog Err.Number, "ERROR in GetDomainDN() at oRoot = GetObject(LDAP://rootDSE)"
End If
PrintLog 0, "Diese Meldung kommt ins LogFile und an die Konsole"
PrintLog -1, "Diese Meldung soll nur die Konsole sehen"

Scripting Basics