Script zu einem späteren Zeitpunkt starten
Hallo allesamt,
Habe ein bisschen Probleme mein Script zum laufen zu bringen. Die eigendliche Aufgabe sollte darin bestehen, dass das Script vom Loginscript aufgerufen wird, dann die aktuelle Systemzeit ausliest und z.B. 15 Minuten hinzu addiert und zu diesem neuen Zeitpunkt ein weiteres Script startet.
Zum System:
Das Loginscript liegt auf einem SBS 2008.
Das zweite Script liegt auf einem separaten NAS.
Die Clients sind mit Windows XP, Vista und Windows 7 installiert.
Also um meine Versuche gleich mal aufzuzählen:
- Als erstes habe ich den Versuch mit einem VBScript gemacht und dabei die Zeit mittels eines "wait" Befehls überbrückt. Das Script habe ich beim Kunden getestet, was zur Folge hatte, dass diverse Computer nicht mit dem Loginscript fertig wurden und daher gar nicht erst aufgestartet haben oder auch abgestürzt sind. Ich muss den Vorgang also irgendwie unterbrechen können, sodass er das Loginscript fertigstellt ohne auf zu warten bis der wait Befehl fertig ist.
- Danach bin ich auf den Batch von Biber gestossen (wirklich grosses Lob an dich, hat mir schon mal weitergeholfen
) mit dem ich über einen DOS Batch die Zeit addieren kann. Diese Zeit habe ich dann ganz einfach in einen AT-Befehl eingefügt, die Aufgabe wurde auch ohne Probleme gestartet nur wird dabei nichts gemacht.
- Schlussendlich habe ich jetzt versucht den Batch in ein VBScript zurückzuschreiben, dazu habe ich aber keinen Befehl gefunden mit dem ich das Script unterbrechen könnte, deshalb hab ich auf den DOS-Befehl "schtasks" zurück gegriffen. Aber leider funktioniert das ebenfalls nicht, oder besser gesagt nur zum Teil, da dies von Computer zu Computer variiert.
Hier mal mein Code (ist nicht viel aber sollte eigentlich die Aufgabe erfüllen):
Nun hoffe ich dass mir jemand sagen könnte wo ich den Fehler mache oder ob jemand eine Idee hat das ganze besser umzusetzen.
Zubbel
Habe ein bisschen Probleme mein Script zum laufen zu bringen. Die eigendliche Aufgabe sollte darin bestehen, dass das Script vom Loginscript aufgerufen wird, dann die aktuelle Systemzeit ausliest und z.B. 15 Minuten hinzu addiert und zu diesem neuen Zeitpunkt ein weiteres Script startet.
Zum System:
Das Loginscript liegt auf einem SBS 2008.
Das zweite Script liegt auf einem separaten NAS.
Die Clients sind mit Windows XP, Vista und Windows 7 installiert.
Also um meine Versuche gleich mal aufzuzählen:
- Als erstes habe ich den Versuch mit einem VBScript gemacht und dabei die Zeit mittels eines "wait" Befehls überbrückt. Das Script habe ich beim Kunden getestet, was zur Folge hatte, dass diverse Computer nicht mit dem Loginscript fertig wurden und daher gar nicht erst aufgestartet haben oder auch abgestürzt sind. Ich muss den Vorgang also irgendwie unterbrechen können, sodass er das Loginscript fertigstellt ohne auf zu warten bis der wait Befehl fertig ist.
- Danach bin ich auf den Batch von Biber gestossen (wirklich grosses Lob an dich, hat mir schon mal weitergeholfen
- Schlussendlich habe ich jetzt versucht den Batch in ein VBScript zurückzuschreiben, dazu habe ich aber keinen Befehl gefunden mit dem ich das Script unterbrechen könnte, deshalb hab ich auf den DOS-Befehl "schtasks" zurück gegriffen. Aber leider funktioniert das ebenfalls nicht, oder besser gesagt nur zum Teil, da dies von Computer zu Computer variiert.
Hier mal mein Code (ist nicht viel aber sollte eigentlich die Aufgabe erfüllen):
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
AddTime = TimeSerial(0, 15, 0)
Pfad = "\\Server\Temp\inventarisieren.vbs"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "schtasks.exe /delete /tn Script /f"
NewTime = Time + AddTime
WshShell.Run "schtasks.exe /Create /sc Einmal /tn Script /st " & NewTime & " /tr " & Pfad &
Nun hoffe ich dass mir jemand sagen könnte wo ich den Fehler mache oder ob jemand eine Idee hat das ganze besser umzusetzen.
Zubbel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 156694
Url: https://administrator.de/forum/script-zu-einem-spaeteren-zeitpunkt-starten-156694.html
Ausgedruckt am: 14.04.2025 um 01:04 Uhr
10 Kommentare
Neuester Kommentar
Moin Zubbel,
wenn ich auch mal meinen Senf dazugeben darf.
Die eine Anforderung, die mal umsetzen mußte, habe ich mit der Delay.exe erledigt.
Markus
wenn ich auch mal meinen Senf dazugeben darf.
Die eine Anforderung, die mal umsetzen mußte, habe ich mit der Delay.exe erledigt.
Markus

Hallo zubbel!
Gruß Dieter
TimeAdd = DateAdd("n", 15, Time) |
Gruß Dieter
Das mit dem "Wait" habe ich überlesen.
Vom Prinzip ja, die "Kunst" ist ja, ein Script zu starten ohne das das Loginscript auf die Beendigung wartet.
Das schaffst Du nur, wenn Du eine "eigene" CMD aufmachst. Was dann für die Zeitverzögerung sorgt, ist "Geschmackssache". Sinngemäß müßtest Du also (ungetestet) solches probieren.
ohne Verzögerung - Loginscript läuft weiter
mit Verzögerung - Loginscript läuft weiter
Markus
[edit] Tippfehler beseitigt [/edit]
Vom Prinzip ja, die "Kunst" ist ja, ein Script zu starten ohne das das Loginscript auf die Beendigung wartet.
Das schaffst Du nur, wenn Du eine "eigene" CMD aufmachst. Was dann für die Zeitverzögerung sorgt, ist "Geschmackssache". Sinngemäß müßtest Du also (ungetestet) solches probieren.
ohne Verzögerung - Loginscript läuft weiter
1
start MyScript.cmd
mit Verzögerung - Loginscript läuft weiter
1
start delay.exe <Parameter> MyScript.cmd
Markus
[edit] Tippfehler beseitigt [/edit]