VB-Script per Aufgabenplanung
Hallo,
Ich habe mir ein VB-Script erstellt, welches im Grunde ein Programm startet und diesem Parameter übergibt und die von dem Programm ausgegebene Datei weiterverarbeitet.
Das funktioniert auch alles ohne Probleme, solange ich es direkt per Doppelklick, Batch oder cmd aufrufe. Sobald ich aber versuche das Script per Aufgabenplanung zu starten, sehe ich, dass auf jeden Fall Zeile 6-10 ausgeführt werden. Aber der obere Part, nämlich das starten des Programm funktioniert nicht.
Das Programm wird mit höchsten Privilegien ausgeführt und ich habe als auszuführenden Benutzer sowohl den Administrator, als auch System getestet.
Es macht wie gesagt kein Unterschied, ob ich das VB-Script direkt eintrage oder ob ich eine.bat eintrage, welche das Script ausführen soll.
Laufen soll das Script auf einem Win2k8R2 Server und das Laufwerk D:\ ist lokal.
Was könnten Gründe sein, dass per Aufgabenplanung wie gesagt die ersten 3 Zeilen nicht ordnungsgemäß ausgeführt werden?
mfg S4kar97
Ich habe mir ein VB-Script erstellt, welches im Grunde ein Programm startet und diesem Parameter übergibt und die von dem Programm ausgegebene Datei weiterverarbeitet.
Das funktioniert auch alles ohne Probleme, solange ich es direkt per Doppelklick, Batch oder cmd aufrufe. Sobald ich aber versuche das Script per Aufgabenplanung zu starten, sehe ich, dass auf jeden Fall Zeile 6-10 ausgeführt werden. Aber der obere Part, nämlich das starten des Programm funktioniert nicht.
' Starten des Reportgenerators zum exportieren der Daten
Set sh = CreateObject("WScript.Shell")
sh.Run "D:\MessDas\User\Report\ReportGenerator.exe -Batch -MDR:D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT-Info_Stromerzeugung.mdr -SRC:D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung.xlsx -DST:D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.xlsx -User:zensiert -PW:zensiert", 0, True
' Löschen der alten .csv ,falls vorhanden
Set objFSO = CreateObject("Scripting.FileSystemObject")
testFile = "D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.csv"
If (objFSO.FileExists(testFile)) Then
objFSO.DeleteFile("D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.csv")
End If
' Umwandeln der vom Reportgenerator erzeugten .xlsx in .csv
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open("D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.xlsx")
oBook.SaveAs "D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.csv", 6
oBook.Close False
oExcel.Quit
' Kopieren der .csv in ein anderes Verzeichnis
dim objFSO
set objFSO = CreateObject("Scripting.FileSystemObject")
quelle ="D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\MT_Info_Stromerzeugung_Ausgabe.csv"
ziel = "D:\MessDas\Berichte\Excel-Vorlagen\MT-Info\Test\"
objFSO.copyfile quelle, ziel
Das Programm wird mit höchsten Privilegien ausgeführt und ich habe als auszuführenden Benutzer sowohl den Administrator, als auch System getestet.
Es macht wie gesagt kein Unterschied, ob ich das VB-Script direkt eintrage oder ob ich eine.bat eintrage, welche das Script ausführen soll.
Laufen soll das Script auf einem Win2k8R2 Server und das Laufwerk D:\ ist lokal.
Was könnten Gründe sein, dass per Aufgabenplanung wie gesagt die ersten 3 Zeilen nicht ordnungsgemäß ausgeführt werden?
mfg S4kar97
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 330698
Url: https://administrator.de/forum/vb-script-per-aufgabenplanung-330698.html
Ausgedruckt am: 22.04.2025 um 14:04 Uhr
2 Kommentare
Neuester Kommentar

Das liegt daran das im Skript Excel-COM-Automation gemacht wird. Windows braucht hier einen Desktop-Ordner im Systemprofil, ohne den laufen solche Skripte im Taskplaner nicht oder brechen mit nichtssagenden Fehlermeldungen ab, hier steht's detailliert:
Per Batch in Aufgabeplanung XLS in CSV umwandeln
Ebenso muss dein Programm das Ausführen ohne GUI (Console-Session) natürlich unterstützen.
Gruß
Per Batch in Aufgabeplanung XLS in CSV umwandeln
Ebenso muss dein Programm das Ausführen ohne GUI (Console-Session) natürlich unterstützen.
Gruß