VBS-Datei startet nicht über den Taskplaner
Hallo allerseits,
ich habe ein Problem mit dem folgenden VB-Script (automatisiertes Defrag). Es funktioniert problemlos, wenn ich es direkt starte (Doppelklick auf Datei), aber wenn ich es über den Taskplaner starten will, passiert gar nichts Woran kann das liegen?
Der betreffende PC läuft unter Windows 2000 und ist Mitglied einer Windows2000-Domäne. Der Task wurde unter einem Konto geplant, das über Domain-Admin-Rechte verfügt.
Hier nun das Script:
ich habe ein Problem mit dem folgenden VB-Script (automatisiertes Defrag). Es funktioniert problemlos, wenn ich es direkt starte (Doppelklick auf Datei), aber wenn ich es über den Taskplaner starten will, passiert gar nichts Woran kann das liegen?
Der betreffende PC läuft unter Windows 2000 und ist Mitglied einer Windows2000-Domäne. Der Task wurde unter einem Konto geplant, das über Domain-Admin-Rechte verfügt.
Hier nun das Script:
'Win2000 Defragmentierung für Taskplaner, mit VB-Script
'Shell-Objekt initialisieren
Set WshShell = CreateObject("WScript.Shell")
'Defrag-Management-Console mit gewünschtem Laufwerk starten
WshShell.Run "dfrg.msc c:"
'Warteschleife, bis das Fenster "Defragmentierung" erscheint
While WshShell.AppActivate("Defragmentierung") = FALSE
Wscript.Sleep 1000
Wend
'Defragmentierungs-Fenster zur Sicherheit nochmal aktivieren
WshShell.AppActivate "Defragmentierung"
Wscript.Sleep 200
'Tastenfolge zum Start der Defragmentierung senden
WshShell.SendKeys "%OD"
'Warten, bis Defragmentierung beendet ist oder Frage nach verfügbarem Speicherplatz erscheint (alle 5 Sek. auf Erscheinen der Meldungsbox testen)
While (WshShell.AppActivate("Defragmentierung abgeschlossen") = FALSE And WshShell.AppActivate("Defragmentierungsprogramm") = FALSE)
Wscript.Sleep 5000
Wend
'Bei Frage nach verfügbarem Speicherplatz mit "Ja" antworten
If WshShell.AppActivate("Defragmentierungsprogramm") = TRUE Then
WshShell.AppActivate "Defragmentierungsprogramm"
Wscript.Sleep 200
WshShell.SendKeys "J"
'Erneut warten, bis Defragmentierung beendet ist
While WshShell.AppActivate("Defragmentierung abgeschlossen") = FALSE
Wscript.Sleep 5000
Wend
End If
'Meldungsbox zur Sicherheit nochmal aktivieren
WshShell.AppActivate "Defragmentierung abgeschlossen"
WScript.Sleep 200
'Tastenkombination ALT+F4 zum Schliessen der Meldungsbox senden
WshShell.Sendkeys "%{F4}"
WScript.Sleep 200
'Tastenkombination ALT+F4 zum Beenden von Defrag senden
WshShell.Sendkeys "%{F4}"
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 30795
Url: https://administrator.de/forum/vbs-datei-startet-nicht-ueber-den-taskplaner-30795.html
Ausgedruckt am: 03.02.2025 um 01:02 Uhr
9 Kommentare
Neuester Kommentar
Hi,
mach mal ne Konsole auf und gib wscript /? ein. Dann bekommst du eine kl. Hilfe. Die wscript.exe liegt in C:\WINDOWS\system32\wscript.exe.
Beispiel für Task:
So ungefähr müsste die Task aussehen! Ansonsten kannst du ja in der Hilfe oben nachschaun.
GRuß
Dani
mach mal ne Konsole auf und gib wscript /? ein. Dann bekommst du eine kl. Hilfe. Die wscript.exe liegt in C:\WINDOWS\system32\wscript.exe.
Beispiel für Task:
C:\WINDOWS\system32\cscript.exe //H:WSCRIPT test.vbs
So ungefähr müsste die Task aussehen! Ansonsten kannst du ja in der Hilfe oben nachschaun.
GRuß
Dani
Hallo, ich habe genau das gleiche Problem.
Mein vbs-Script läuft auch ohne Probleme, wenn ich direk am Computer angemeldet bin. Aber sobald ich den Comupter sperre und vorher einen geplanten Task erstellt habe, läuft mein vbs-Script nicht.
Ich habe auch schon eine Batch-Datei geschrieben in der ich den vbs-Script aufrufe.
Auch habe ich die Option C:\Windows\system32\wscript //H:CScript C:\meinscript\test.vbs im meiner Batch-Datei eingebunden.
Das funktioniert auch nur wenn ich direkt angemeldet bin. Aber nicht wenn der Computer gesperrt ist.
Es ist ein Phänomen für mich, warum bei analoger Vorgehensweise mein test.vbs script nicht ausgeführt wird aber mein test.bat schon!
Mein geplanter Task ruft zwar mein test.vbs aus meinem Verzeichnis C:\meinscript\ auf, aber es wird keine einzige Zeile an Code ausgeführt.
Ich bin mittlerweile schon am verzweifeln.
System: Windows Sever 2003, SP4 und komplette Adminrechte.
Mein vbs-Script läuft auch ohne Probleme, wenn ich direk am Computer angemeldet bin. Aber sobald ich den Comupter sperre und vorher einen geplanten Task erstellt habe, läuft mein vbs-Script nicht.
Ich habe auch schon eine Batch-Datei geschrieben in der ich den vbs-Script aufrufe.
Auch habe ich die Option C:\Windows\system32\wscript //H:CScript C:\meinscript\test.vbs im meiner Batch-Datei eingebunden.
Das funktioniert auch nur wenn ich direkt angemeldet bin. Aber nicht wenn der Computer gesperrt ist.
Es ist ein Phänomen für mich, warum bei analoger Vorgehensweise mein test.vbs script nicht ausgeführt wird aber mein test.bat schon!
Mein geplanter Task ruft zwar mein test.vbs aus meinem Verzeichnis C:\meinscript\ auf, aber es wird keine einzige Zeile an Code ausgeführt.
Ich bin mittlerweile schon am verzweifeln.
System: Windows Sever 2003, SP4 und komplette Adminrechte.