Vbs Datei lässt sich nicht über die Aufgabenplanung (geplater Task) starten
Hallo zusammen,
ich habe folgendes Problem:
Ich habe ein kleines vbs-Script geschrieben und auf dem Rechner abgespeichert habe. Wenn ich die vbs-Datei im Explorer doppelklicke wird diese problemlos ausgeführt. Soweit so gut.
Nun möchte ich dieses Script aber über die Aufgabenplanung (geplanter Task) zu bestimmten Zeiten automatisch aufrufen lassen. Die Einrichtung des geplanten Task ist soweit kein Problem. Wenn die im gepl. Task ausgewiesene Uhrzeit erreicht wird, dann startet die Aufgabenplanung auch die *.vbs Datei. Leider wird diese nicht ausgeführt, weil das System in diesem Fall fragt, mit welcher Applikation denn diese Datei ausgeführt werden soll.
Hat jemand eine Idee, wie ich dem System beibringe, mit welcher Applikation eine *.vbs Datei ausgeführt werden soll?
Wie gesagt: Beim Doppelklick aus dem Datei Explorer heraus, kommt die Frage nicht, sondern da wird die Datei direkt ausgeführt.
Auf dem alten Betriebssystem (Windows 7) hat diese Art des Programmaufrufes aus der Aufgabenplanung immer reibungslos funktioniert. Ich nutze aktuell Windows 10 und habe da dann das beschriebene Problem.
Vielen Dank für Eure hoffentlich sachdienlichen Hinweise.
ich habe folgendes Problem:
Ich habe ein kleines vbs-Script geschrieben und auf dem Rechner abgespeichert habe. Wenn ich die vbs-Datei im Explorer doppelklicke wird diese problemlos ausgeführt. Soweit so gut.
Nun möchte ich dieses Script aber über die Aufgabenplanung (geplanter Task) zu bestimmten Zeiten automatisch aufrufen lassen. Die Einrichtung des geplanten Task ist soweit kein Problem. Wenn die im gepl. Task ausgewiesene Uhrzeit erreicht wird, dann startet die Aufgabenplanung auch die *.vbs Datei. Leider wird diese nicht ausgeführt, weil das System in diesem Fall fragt, mit welcher Applikation denn diese Datei ausgeführt werden soll.
Hat jemand eine Idee, wie ich dem System beibringe, mit welcher Applikation eine *.vbs Datei ausgeführt werden soll?
Wie gesagt: Beim Doppelklick aus dem Datei Explorer heraus, kommt die Frage nicht, sondern da wird die Datei direkt ausgeführt.
Auf dem alten Betriebssystem (Windows 7) hat diese Art des Programmaufrufes aus der Aufgabenplanung immer reibungslos funktioniert. Ich nutze aktuell Windows 10 und habe da dann das beschriebene Problem.
Vielen Dank für Eure hoffentlich sachdienlichen Hinweise.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 341867
Url: https://administrator.de/forum/vbs-datei-laesst-sich-nicht-ueber-die-aufgabenplanung-geplater-task-starten-341867.html
Ausgedruckt am: 26.04.2025 um 21:04 Uhr
9 Kommentare
Neuester Kommentar

Was macht die VBS? Zufällig Office COM Automation? Wenn ja dann weiß ich warum es nicht läuft.
Siehe Per Batch in Aufgabeplanung XLS in CSV umwandeln
Gruß
Siehe Per Batch in Aufgabeplanung XLS in CSV umwandeln
Hat jemand eine Idee, wie ich dem System beibringe, mit welcher Applikation eine *.vbs Datei ausgeführt werden soll?
Das Registry-Mapping für die Dateiendung aus einem funktionsfähigen System wiederherstellen.Gruß

Im Task steht aber schon das es mit dem aktuell angemeldeten User ausgeführt werden soll?! Denn sonst würde ja niemals eine MsgBox erscheinen, das ist dir schon klar?!
Und starte das Skript mal über wscript.exe und als Argumente : //NOLOGO "PFAD ZUR VBS"
WScript.exe und Cscript.exe sind die Interpreter die VBS zum laufen bringen, auch wenn du doppelt klickst werkeln die im Hintergrund das Skript ab. WScript ist für GUI Anwendungen und Cscript für commandline Verwendung.
Und starte das Skript mal über wscript.exe und als Argumente : //NOLOGO "PFAD ZUR VBS"
WScript.exe und Cscript.exe sind die Interpreter die VBS zum laufen bringen, auch wenn du doppelt klickst werkeln die im Hintergrund das Skript ab. WScript ist für GUI Anwendungen und Cscript für commandline Verwendung.
Moin,
mal so am Rande:
wie hast du den Aufruf im SchedTask angelegt?
EInfach nur
oder
Letzteres wäre zu bevorzugen, damit Windows eindeutig weiss, mit welchem Programm die vbs zu starten ist.
Alles, was keine exe, bat oder com als Dateiendung hat, wird nicht selbst ausgeführt sondern bedient sich, wie vom Biber erwähnt, registry-Werten, welche die zu startende exe mit der ENdung verknüpft.
Gruß
em-pie
mal so am Rande:
wie hast du den Aufruf im SchedTask angelegt?
EInfach nur
c:\meinPfad\meine.vbs
oder
C:\Windows\System32\cscript.exe c:\meinPfad\meine.vbs
Letzteres wäre zu bevorzugen, damit Windows eindeutig weiss, mit welchem Programm die vbs zu starten ist.
Alles, was keine exe, bat oder com als Dateiendung hat, wird nicht selbst ausgeführt sondern bedient sich, wie vom Biber erwähnt, registry-Werten, welche die zu startende exe mit der ENdung verknüpft.
Gruß
em-pie

Hat da jemand auch noch einen Ratschlag, um die vbs Ausführung wieder automatisch im Vordergrund dargestellt zu bekommen?
Die sichtbare Ausführung geht nur wenn du im Aufgabenplaner angibst das es nur ausgeführt werden soll wenn jemand angemeldet ist!
Denn nur dann haben solche Skripte Zugriff auf die aktuelle GUI-Session und können irgendwas anzeigen! Das war auch unter Windows 7 definitiv nicht anders. Sobald ein Skript unter einem anderem Account läuft läuft es im Kontext dieses Users im Hintergrund in seiner eigenen Session und es hat somit keinen Zugriff auf die GUI des aktuell angemeldeten Users, ganz einfach. Wäre ja noch schöner wenn eine parallele Anmeldung sich unberechtigt auf meinen Desktop schmuggeln würde. Das würde das Sicherheitssystem konterkarieren.
Also immer erst vorher nachdenken bevor man sich sowas ausdenkt. Also Skript so gestalten das keine GUI Aktionen nötig sind, oder Option wie oben aktivieren.
Warum willst du denn eine Messagebox erhalten, also was ist der Sinn dahinter?
versuche das doch mal mit der cscript.exe und baue hinter deine erwartete Messagebox folgendes ein:
(Quelle: stackoverflow)
versuche das doch mal mit der cscript.exe und baue hinter deine erwartete Messagebox folgendes ein:
WScript.Echo "Press [ENTER] to continue..."
' Read dummy input. This call will not return until [ENTER] is pressed.
WScript.StdIn.ReadLine
WScript.Echo "Done."