Mit Taskplaner mehrere Scripte zeitversetzt starten (Beim Systemstart)
Hallo, ich bin neu hier. Das ist mein erster Beitrag, daher bitte ich um etwas Nachsicht.
Hallo,
ich möchte unter Windows XP Professional sowie Windows Server 2003 mit Hilfe des Taskplaners mehrere voneinander unabhängige Prozesse starten. Diese werden gestartet durch ein Perl-Script das jeweils mit unterschiedlichen Parametern aufgerufen wird. Zusätzlich ist zu erwähnen, daß jeder Prozess auch mit einem unterschiedlichen Betriebssystem-User laufen muss. Dies habe ich versucht dadurch zu erreichen, daß ich mehrere Tasks über den Taskplaner erzeugt habe, die beim Systemstart automatisch gestartet werden sollen. Wenn ich die Prozesse nacheinander (mit jeweils einigen Sekunden Wartezeit) manuell starte, funktioniert alles. Wenn ich dann aber einen Neustart mache, versucht der Taskplaner-Dienst die Prozesse alle parallel zu starten. Dies funktioniert dann nicht und ich bekomme im Logfile die Meldung (beispielhaft für einen Prozess):
"s99axaproespool_win_start_jt_batch_boot_P3_JT2.job" (perl.exe)
Ende: 05.06.2009 07:59:34
Ergebnis: Der Task wurde mit folgendem Ergebniswert abgeschlossen: (1).
Meine Idee wäre jetzt, die Startaufrufe in eine Batch-Datei zu stellen und jeweils nacheinander mit einem sleep-Aufruf dazwischen zu starten. Das Problem wäre dann aber, wie ich es hinbekomme, daß dann jeweils unterschiedliche Betriebssystem-User verwendet werden. Unter Linux gäbe es dafür z.B. den Befehl "su". Gibt es so etwas auch mit Bordmitteln unter Windows?
Gruß
Jürgen
Hallo,
ich möchte unter Windows XP Professional sowie Windows Server 2003 mit Hilfe des Taskplaners mehrere voneinander unabhängige Prozesse starten. Diese werden gestartet durch ein Perl-Script das jeweils mit unterschiedlichen Parametern aufgerufen wird. Zusätzlich ist zu erwähnen, daß jeder Prozess auch mit einem unterschiedlichen Betriebssystem-User laufen muss. Dies habe ich versucht dadurch zu erreichen, daß ich mehrere Tasks über den Taskplaner erzeugt habe, die beim Systemstart automatisch gestartet werden sollen. Wenn ich die Prozesse nacheinander (mit jeweils einigen Sekunden Wartezeit) manuell starte, funktioniert alles. Wenn ich dann aber einen Neustart mache, versucht der Taskplaner-Dienst die Prozesse alle parallel zu starten. Dies funktioniert dann nicht und ich bekomme im Logfile die Meldung (beispielhaft für einen Prozess):
"s99axaproespool_win_start_jt_batch_boot_P3_JT2.job" (perl.exe)
Ende: 05.06.2009 07:59:34
Ergebnis: Der Task wurde mit folgendem Ergebniswert abgeschlossen: (1).
Meine Idee wäre jetzt, die Startaufrufe in eine Batch-Datei zu stellen und jeweils nacheinander mit einem sleep-Aufruf dazwischen zu starten. Das Problem wäre dann aber, wie ich es hinbekomme, daß dann jeweils unterschiedliche Betriebssystem-User verwendet werden. Unter Linux gäbe es dafür z.B. den Befehl "su". Gibt es so etwas auch mit Bordmitteln unter Windows?
Gruß
Jürgen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 117548
Url: https://administrator.de/forum/mit-taskplaner-mehrere-scripte-zeitversetzt-starten-beim-systemstart-117548.html
Ausgedruckt am: 27.04.2025 um 12:04 Uhr
5 Kommentare
Neuester Kommentar

Hey,
wäre es eien Lösung für dich ein Perl-Script zu schreiben welches die anderen zeitversetzt startet?
In Perl gibts die sleep(); Funktion. In die Klammer schreibst einfach die Anzahl der Sekunden wie lange das Script nix machen soll.
Mit dem Taskplaner alleine bekommst das nicht hin. Kannst auch genauso eine Batch schreiben die die sleep.exe benutzt um die Zeitverszögerung zu ermöglichen, ist das gleiche Prinzip. Allerdings müsstest die sleep.exe auf jedem Client ins system32 packen oder von nem Netzlaufwerk aus starten was ich jetzt nicht so schön finde wie Lösung nur mit Perl.
Grüßle
wäre es eien Lösung für dich ein Perl-Script zu schreiben welches die anderen zeitversetzt startet?
In Perl gibts die sleep(); Funktion. In die Klammer schreibst einfach die Anzahl der Sekunden wie lange das Script nix machen soll.
Mit dem Taskplaner alleine bekommst das nicht hin. Kannst auch genauso eine Batch schreiben die die sleep.exe benutzt um die Zeitverszögerung zu ermöglichen, ist das gleiche Prinzip. Allerdings müsstest die sleep.exe auf jedem Client ins system32 packen oder von nem Netzlaufwerk aus starten was ich jetzt nicht so schön finde wie Lösung nur mit Perl.
Grüßle

Okay so bringt dir das natürlich nix.
Wenn du die Tasks mit der GUI anlegst kannst du da ja nen Benutzer mitgeben unter dem der Task gestartet wird.
Dann hätte ich noch die Idee dass du die anderen Tasks aus der Batch Datei startest und zwar mit
schtasks.exe /run /TASKNAME1
sleep 20
schtasks.exe /run /TASKNAME2
sleep 20
usw.
Vielleicht hilft dir das weiter...
Grüßle
Wenn du die Tasks mit der GUI anlegst kannst du da ja nen Benutzer mitgeben unter dem der Task gestartet wird.
Dann hätte ich noch die Idee dass du die anderen Tasks aus der Batch Datei startest und zwar mit
schtasks.exe /run /TASKNAME1
sleep 20
schtasks.exe /run /TASKNAME2
sleep 20
usw.
Vielleicht hilft dir das weiter...
Grüßle

ja du hast Recht. War mein Fehler, sorry.
Hauptsache es läuft ;)
Hauptsache es läuft ;)