Suche Möglichkeit per Skript mehrfache Zeitpläne eines eingerichteten Tasks zu erzeugen
Trotz intensiver Recherche im Internet bin ich zu obigen Problem nicht fündig geworden. Da mir hier schon viele Berichte zu Lösungen verholfen haben, hoffe ich diesmal wieder ausreichend Hilfe zu bekommen. Vorab also schonmal recht herzlichen Dank für eure Mühen.
eine komplette Liste erzeugen wo alle eingerichteten Zeitpläne sichtbar sind, aber mit
kann ich leider keine Zeitpläne verändern und mit
kann ich nur vorhandene Jobs ersetzen. Das wäre zwar eine Möglichkeit, jedoch mangelt es hier an der Fähigkeit mehrfache Zeitpläne für einen Job anzulegen. Als Hilsfmittel sei noch folgende Anmerkung gestattet. Diese "ProblemJobs" sind parametergesteuert nach Datum, d.h. für jeden dieser Jobs gibt es sozusagen als Pendant eine datumsgleiche Jobliste (z.B. 20080815.txt für den 15.August).
Edit 15.8.2008
Aufgrund von Anfragen nochmal konkretere Angaben:
Ich hoffe nun versteht jeder mein Hilfeersuchen ?
Ausgangssituation:
Ich habe auf einem Windows 2003 R2 Server (sagen wir mal FS001) mehrere eingerichtete Tasks. Die meisten davon sind schon mit den Standardzeitplänen (wie z.B. "wöchentlich MI und FR 5:00" oder "täglich 5:30" ) ausgestattet. Nun ist sind noch einige Tasks dazugekommen, die ich mit diesen Standardzeitplänen nicht versorgen kann. D.h. ich habe sie als "EINMAL" mit mehrfachen Zeitplänen als Tagesdatum angelegt über den normalen graphischen Assistenten. Hintergrund nicht jede Woche finden diese "Jobs" an den gleichen Wochentagen statt. (z.B. eine Woche Mo-Do 21 Uhr, nächste Woche Mo-Fr 21Uhr, die darauffolgende Woche nur noch Di-Do 21 oder 22 Uhr o.ä.). Wann dieser Job also auszuführen ist, erfahre ich rechtzeitig mindestens 1 Woche vorher. Selbst tageweise unterschiedliche Startzeit kann vorkommen. Wichtig warum das ganze : Ich darf diese Tasks nur dann ausführen lassen, wenn der Auftrag vom Kunden vorliegt. Eine professionelle Zeitplansteuerung wurde leider nicht bewilligt.Problembeschreibung:
Damit ich nicht jedesmal den Assistenten benutzen muss (jeder Mausklick ist eine potentielle Fehlerquelle ), suche ich nun einen Möglichkeit dieses per Skript zu lösen. Die at.exe von Windows hilft mir da gar nichts. Mit der schtasks.exe komme ich leider auch nicht zum Ziel. Ich kann mir zwar mitschtasks.exe /query /s FS001 /v /FO TABLE
schtasks.exe /change
schtasks.exe /create
Lösungssuche ?
Die MSDN von Microsoft gibt da leider auch wenig Hoffnung dieses "Problem" mittels schtasks.exe hinzubekommen. Nun hoffe ich hier auf Unterstützung von Euch. Ich sehe im Moment den Wald vor lauter Bäumen nicht mehr. Vielleicht läßt sich dies auch mit einem batchgesteuerten VB-Schnipsel lösen. Bin für jede Anregung dankbar. Also liebe Mitstreiter: man bekommt nicht immer die Werkzeuge als Admin, die man gerne hätte, lasst es uns wie immer mit "eigenen Werkzeugen" erreichenEdit 15.8.2008
Aufgrund von Anfragen nochmal konkretere Angaben:
- Die einfache Lösung für jeden Tag einen eigenen Task anzulegen, kenne ich. Aber die Liste der angelegten Tasks wird dann erstens sehr lang und unübersichtlich und zweitens bei Änderung des "auszuführenden Benutzers" (Name/Kennwort) müssten alle schon angelegten Zeitpläne erneuert werden.
- Die Liste klein zu halten und nur auf "logische Aufgaben" mit mehrfachen Zeitplänen zu beschränken, ist ja auch schon gegeben mittels des graphischen Assistenten von Windows (geplante Tasks)
- es geht hier vordringlich darum, diese mehrfachen Zeitpläne eines schon eingerichteten Tasks per Skript und nicht per Assistenten zu erstellen.
Ich hoffe nun versteht jeder mein Hilfeersuchen ?
Edit 15.9.2008 Hat den keiner eine Idee???
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 94500
Url: https://administrator.de/contentid/94500
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
4 Kommentare
Neuester Kommentar
Edit 15.9.2008 Hat den keiner eine Idee???
doch - und zwar die kombination von schtasks.exe für die "festen" Jobs und AT für die variablen.
Ein batch könnte dann so aussehen:
set /P DATEI=auszuführende Datei:
if not exist %datei% echo Datei nicht vorhanden.
set /P tag=auszuführender Tag (Mo Di Mi Do Fr Sa So):
set /P zeit=auszuführende Uhrzeit hh:mm:
at %zeit% /INTERACTIVE /next:%tag% "%datei%"
Gruß
Servus,
ich glaube - wir reden aneinander vorbei und anstatt - daß du meinen Tipp befolgst - gibts du mir einen - den ich schon kenne (und nicht benutze)
ich dosbox - nix klickibunti -wenns auch anders geht
Nochmal:
At & Schtasks sind unterschiedliche Funktionen.
Alles, was entweder per AT oder Schtasks angelegt wird - taucht auch unter schtasks auf.
Nur das, was unter AT angelegt wurde, taucht bei At auf / und - siehe obere Zeile - bei schtasks.
Ergo:
Alles "feste" per schtasks anlegen und alles variable mit AT.
btw:
mit einem Script, daß so ausshieht:
...kannst du mehrere Tasks in einem rutsch anlegen - wenn dir der obere Weg nicht gefällt - dann kannst du diese .cmd verändern, um Jobs zu erzeugen.
"leider" bin ich der einzige, der dir geantwortet hat und "leider" ist die Procedur nicht nur "banal" und simpel - sondern auch schon etwas älter - dafür aber erprobt.
Entweder "traust" du dich das mal auszuprobieren - oder klickst weiter in dem Assistenten rum - oder jemand hat einen "besseren" Tipp.
Gruß
ich glaube - wir reden aneinander vorbei und anstatt - daß du meinen Tipp befolgst - gibts du mir einen - den ich schon kenne (und nicht benutze)
ich dosbox - nix klickibunti -wenns auch anders geht
Nochmal:
At & Schtasks sind unterschiedliche Funktionen.
Alles, was entweder per AT oder Schtasks angelegt wird - taucht auch unter schtasks auf.
Nur das, was unter AT angelegt wurde, taucht bei At auf / und - siehe obere Zeile - bei schtasks.
Ergo:
Alles "feste" per schtasks anlegen und alles variable mit AT.
btw:
mit einem Script, daß so ausshieht:
:rem alle tasks löschen und "Zähler für neuen Taks auf null setzen
At /delete /yes
at zeit /INTERACTIVE /next:tag "datei1"
at zeit /INTERACTIVE /next:tag "datei2"
at zeit /INTERACTIVE /next:tag "datei3"
:rem usw usf
exit
...kannst du mehrere Tasks in einem rutsch anlegen - wenn dir der obere Weg nicht gefällt - dann kannst du diese .cmd verändern, um Jobs zu erzeugen.
"leider" bin ich der einzige, der dir geantwortet hat und "leider" ist die Procedur nicht nur "banal" und simpel - sondern auch schon etwas älter - dafür aber erprobt.
Entweder "traust" du dich das mal auszuprobieren - oder klickst weiter in dem Assistenten rum - oder jemand hat einen "besseren" Tipp.
Gruß