sarekhl
Goto Top

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 face-sad 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}"  

Content-Key: 30795

Url: https://administrator.de/contentid/30795

Printed on: April 19, 2024 at 10:04 o'clock

Member: Dani
Dani Apr 20, 2006 at 10:41:48 (UTC)
Goto Top
Hi,
wie hast du das in den Taskplaner eingebunden?! =>Welcher Befehl?

gruß
Dani
Member: SarekHL
SarekHL Apr 20, 2006 at 10:50:17 (UTC)
Goto Top
Befehl? Ich habe auf "Geplanten Task hinzufügen" geklickt und dann die VBS-Datei als zu startendes Programm angebgeben ... also c:\scripts\defrag.vbs
Member: Dani
Dani Apr 20, 2006 at 11:01:38 (UTC)
Goto Top
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:
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. face-wink


GRuß
Dani
Member: SarekHL
SarekHL Apr 20, 2006 at 11:52:20 (UTC)
Goto Top
Beispiel für Task:

C:\WINDOWS\system32\cscript.exe //H:WSCRIPT test.vbs
So ungefähr müsste die Task aussehen!

Hi, habe ich ausprobiert:

C:\WINNT\system32\cscript.exe //H:WSCRIPT c:\scripts\defrag.vbs


Leider funktioniert es weiterhin nicht. Der ScriptingHost wird gestartet und ist im Taskmanager zu sehen, ist dort aber im Leerlauf und die Defragmentierung läuft nicht an.

Die gleiche Zeile in der Eingabeaufforderung oder in der Kommandozeile lässt die Defragmentierung problemlos starten.
Member: Dani
Dani Apr 20, 2006 at 12:05:05 (UTC)
Goto Top
Hi,
dann schreib doch einfach die Zeile in eine Batchdatei. Ist zwar nicht das Wahre, aber es müsste gehen.... face-smile


Gruß
Dani
Member: SarekHL
SarekHL Apr 20, 2006 at 13:06:13 (UTC)
Goto Top
dann schreib doch einfach die Zeile in eine Batchdatei. Ist zwar nicht das Wahre, aber es müsste gehen.... face-smile

Leider auch nicht face-sad
Member: DerErnesto
DerErnesto Apr 01, 2008 at 14:14:44 (UTC)
Goto Top
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.
Member: Dani
Dani Apr 01, 2008 at 16:40:37 (UTC)
Goto Top
Hi,
trage einfach in den Eigenschaften => Ausführen als "System" ein. Bestätige das Ganze mit "OK" und starte die Taks manuell. Ansonsten direkt mal nur das VBScript angeben.


Grüße
Dani
Member: Hardy-AT
Hardy-AT Feb 14, 2009 at 10:52:50 (UTC)
Goto Top
Hi,

hatte das selbe Problem - Win2k Server
habe es dann über eine bat Datei gelöst

script.bat
@echo off
Cscript C:\xxx\Datei.vbs //B

dann im Geplanten Task die bat Datei hinzugefügt - fertig

So gings bei mir

Gruß
Hardy