[Code] VBS Hilfe !

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Mrt2006, 12. Dezember 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 12. Dezember 2008
    VBS Hilfe !

    Hey pros ^^,


    und zwar ich habe mal wieder ein großes Problem mit meinem VB-Script ....

    Spoiler
    Code:
    'Listet alle Ereignisse vom Eventlog auf
    '
    'zu starten folgenden Befehl eingeben
    'cscript script.vbs > Ausgabe.txt
    
    dim last_Category
    dim last_ComputerName
    dim last_EventCode
    dim last_Message
    dim last_RecordNumber
    dim last_SourceName
    dim last_TimeWritten
    dim last_Type
    
    const LogFileName = "c:\log.txt"
    
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
     & "\\" & strComputer & "\root\cimv2")
     
    Set colLoggedEvents = objWMIService.ExecQuery _
     ("Select * from Win32_NTLogEvent Where EventCode=4101")
     
    last_TimeWritten = ""
    
    For Each objEvent In colLoggedEvents
     if last_TimeWritten < objEvent.TimeWritten then
     last_Category = objEvent.Category
     last_ComputerName = objEvent.ComputerName
     last_EventCode = objEvent.EventCode
     last_Message = objEvent.Message
     last_RecordNumber = objEvent.RecordNumber
     last_SourceName = objEvent.SourceName
     last_TimeWritten = objEvent.TimeWritten
     last_Type = objEvent.Type
     end if 
    Next
    
    Set fso = CreateObject("Scripting.FileSystemObject") 
    ' Set oFile = fso.OpenTextFile(LogFileName,8,true) 
    Set oFile = fso.CreateTextFile (LogFileName)
    
    If err.Number <> 0 Then 
     oFile.WriteLine "Fehler: " & err.Number & " " & err.Description 
     err.Clear 
    Else 
     oFile.WriteLine "Category: " & last_Category
     oFile.WriteLine "Computer Name: " & last_ComputerName
     oFile.WriteLine "Event Code: " & last_EventCode
     oFile.WriteLine "Message: " & last_Message
     oFile.WriteLine "Record Number: " & last_RecordNumber
     oFile.WriteLine "Source Name: " & last_SourceName
     oFile.WriteLine "Time Written: " & last_TimeWritten
     oFile.WriteLine "Event Type: " & last_Type
    End If 
    oFile.close
    
    [B]SendMail "bla.bla@test.de", "Tivoli Backup", "Logdatei wurde angehängt", LogFileName, LogFileName
     
    
    
    Sub SendMail(strRecipient, strSubject, strMessage, strAttachment, strBlatLog)
    
     set objExec = CreateObject("Wscript.Shell")
     Set objExec = WshShell.exec("blat.exe" & " " &_
     "- -body " & Chr(34) & strMessage & Chr(34) &_
     " -p TSM" &_
     " -to " & strRecipient &_
     " -subject " & chr(34) & strSubject & chr(34) &_
     " -attach " & Chr(34) & strAttachment & Chr(34) &_
     " -log " & Chr(34) & strBlatLog & Chr(34) &_
     " -timestamp -q" )
    
     
     Set objExec = Nothing
     End Sub[/B]


    Von vorneherein ich bin ein absoluter Neuling Daher muss man nicht alles verstehen was ich da zusammen geschrieben habe ^^

    Den kritischen Teil des Scripts habe ich mal fett markiert. Kurze Erläuterung zu dem abschnitt ....
    Ich möchte mir meinen oben ausgegebenen Log.txt per Email zuschicken lassen.

    Das ganze wollte ich mich der Blat.exe machen (Blat is a Win32 command line utility that sends eMail using SMTP), daher auch der abschnitt aber ich bekomme als Fehlermeldung leider nur folgendes ...


    und joa ^^ ab jetzt tappe ich vollkommen im dunklen -.- ich verzweifle langsam da ich nicht auf den Fehler komme. Meine Vermutung ich muss das Object Wshshell erstmal "erzeugen" ??

    Bitte um schnelle und gute hilfe

    bw ist klar !
     
  2. 12. Dezember 2008
    AW: VBS Hilfe !

    Gute Idee, schau mal hier: http://msdn.microsoft.com/en-us/library/ateytk4a(VS.85).aspx
     
  3. 12. Dezember 2008
    AW: VBS Hilfe !

    Code:
    [B]Dim WshShell, oExec
    
     Set WshShell = CreateObject("WScript.Shell")
     Set oExec = WshShell.Exec("blat.exe" & " " &_[/B]
     
     "- -body " & Chr(34) & strMessage & Chr(34) &_
     " -p TSM" &_
     " -to " & strRecipient &_
     " -subject " & chr(34) & strSubject & chr(34) &_
     " -attach " & Chr(34) & strAttachment & Chr(34) &_
     " -log " & Chr(34) & strBlatLog & Chr(34) &_
     " -timestamp -q" )
    
     
     Set objExec = Nothing
     End Sub
    ich steh aufn schlauch !
    also sowie ich es oben fett markiert habe sollte es nicht funktionieren, zumindest nicht bei mir :baby:

    das prob was ich habe ich komme echt nicht weiter.
    ich habe jetzt die beiden Variablen WshShell und oExec festgelegt ...

    darunter weiße ich ihnen dann die werte zu. bei problempunkt ist dann die WSHShell.exec die ich oExec zuweise ...

    C:\Dokumente und Einstellungen\***\****\test.vbs(69, 3) WshShell.Exec: Da
    s System kann die angegebene Datei nicht finden.

    da kann er die wieder nicht finden, gut habe ich ja auch nicht erstellt oder ?!

    ich weiß ich bin ein ^^ aber jeder fängt klein und dumm an
     
  4. 12. Dezember 2008
    AW: VBS Hilfe !

    Code:
    C:\Dokumente und Einstellungen\***\****\test.vbs(69, 3) WshShell.Exec: Da
    s System kann die angegebene Datei nicht finden.
    Ich geh davon aus, dass das bedeutet, dass es die Datei blat.exe nicht gibt.

    Is die im gleichen Verzeichnis wie die test.vbs? Ansonsten versuchs mal mit nem absoluten Pfad.
     
  5. 12. Dezember 2008
    AW: VBS Hilfe !

    hm ok irgendwie hat es doch diesmal geklappt ^^ mein script liegt bei der blat.exe im Ordner ...

    das eine Problem behoben ^^ und jetzt kommt das neue -.-

    er generiert mir meinen Log.txt wie immer, aber ich bekomme keine email ....
    die folgenden optionen beziehen sich ja auf blat.exe
    Code:
     "- -body " & Chr(34) & strMessage & Chr(34) &_
     " -p TSM" &_
     " -to " & strRecipient &_
     " -subject " & chr(34) & strSubject & chr(34) &_
     " -attach " & Chr(34) & strAttachment & Chr(34) &_
     " -log " & Chr(34) & strBlatLog & Chr(34) &_
     " -timestamp -q" )
    Habe das profil (TSM) schon angelegt, worin dann der server, login usw. alles eingerichtet is ...
    habe ich in der sendmail routine was falsches drinne ??
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.