Hallo Freunde,
Problem:
Taskplaner soll ein Script starten-> Macht er...
Aber das Script selbst scheint dann wie abzubrechen kurz nach dem Start.
Startet man das Script händisch läuft es ohne Probleme durch und es passiert was passieren soll.
Wir haben hier den Verdacht, das es sich um ein Rechteproblem handelt.
Win-Server 2012 R2, Domäne 2003.
Kann es sein das sich da neuerdings irgendwelche Richtlinien einmischen?
Das selbe Skript funktionierte auf einem 2003-Server immer tadellos per Taskplaner.
Umzug auf 2012 Server und dortigen Aufgabenplaner Problem oben.
Also das Skript selbst ist in Ordnung und der Taskplaner startet es auch.
Wie gesagt scheint das Sorgenkind da etwas mit den Rechten zu sein.
Kennt Ihr das Problem? Habt Ihr einen Tipp für mich.
Vielen Dank
Seite 1 von 1
Batch per Taskplaner bricht ab, händisch läuft es..Hilfe
Anzeige
#2
geschrieben 13. Juni 2017 - 15:50
In welchem Kontext läuft denn das Script? Und wann?
So pauschal kann man da keine Aussage machen. Wenn aber das Script vorm Logon laufen soll, dann kann es nicht auf die GUI zugreifen und schlägt dann fehl.
Mach eine Kopie von dem Script und fange mit %ERRORLEVEL% die Fehlercodes ab und schreib die irgendwo mit der zugehörigen Befehlszeile in eine Logdatei rein. Dann siehst Du recht schnell, was das Script macht oder nicht macht.
So pauschal kann man da keine Aussage machen. Wenn aber das Script vorm Logon laufen soll, dann kann es nicht auf die GUI zugreifen und schlägt dann fehl.
Mach eine Kopie von dem Script und fange mit %ERRORLEVEL% die Fehlercodes ab und schreib die irgendwo mit der zugehörigen Befehlszeile in eine Logdatei rein. Dann siehst Du recht schnell, was das Script macht oder nicht macht.
#3
geschrieben 13. Juni 2017 - 20:11
Oder setze eine pause ins Script, dann ist es sichtbar und bleibt beim Fehler hängen.
Was wir hatten: einfach mal mit den Parametern benutzerunabhängig starten probieren. Ggf. startet es nur, wenn ein Benutzer angemeldet ist.
Was wir hatten: einfach mal mit den Parametern benutzerunabhängig starten probieren. Ggf. startet es nur, wenn ein Benutzer angemeldet ist.
#4
geschrieben 13. Juni 2017 - 22:05
Teilweise liegt es auch daran, daß Benutzerkontexteigenschaften verwendet werden im Script, die es in dessen Kontext dann natürlich nicht gibt.
Netzwerkfreigaben sind da ganz beliebt. Mappings sind benutzerspezifisch und Laufwerk Z: wie \\storage\Archives läßt sich zwar als Benutzer unter Z: erreichen... als Script aber nicht, wenn es in einem beliebigen anderen Kontext läuft, da muß der UNC-Pfad verwendet werden.
Entsprechend würde das Taskplaner-gesteuerte Script fehlschlagen.
Wenn natürlich der Taskplaner ein Script im Kontext des angemeldeten Benutzers ausführt, dann hat das Script auch Zugriff auf die Ressourcen des Benutzers und es funktioniert so.
Ansonsten kann das Script aber nicht mit dem (angezeigten) Desktop interagieren. Dann nützt einem die pause auch nichts, sondern man muß eventuelle Ausgaben in eine Logdatei umleiten und kann da dann schauen, was passiert (oder nicht passiert) ist. Reguläre Scriptausgaben wären in diesem Zusammenhang nicht erforderlich, weil es keinen gibt (und geben kann) der diese zu Gesicht bekommen würde.
Netzwerkfreigaben sind da ganz beliebt. Mappings sind benutzerspezifisch und Laufwerk Z: wie \\storage\Archives läßt sich zwar als Benutzer unter Z: erreichen... als Script aber nicht, wenn es in einem beliebigen anderen Kontext läuft, da muß der UNC-Pfad verwendet werden.
Entsprechend würde das Taskplaner-gesteuerte Script fehlschlagen.
Wenn natürlich der Taskplaner ein Script im Kontext des angemeldeten Benutzers ausführt, dann hat das Script auch Zugriff auf die Ressourcen des Benutzers und es funktioniert so.
Ansonsten kann das Script aber nicht mit dem (angezeigten) Desktop interagieren. Dann nützt einem die pause auch nichts, sondern man muß eventuelle Ausgaben in eine Logdatei umleiten und kann da dann schauen, was passiert (oder nicht passiert) ist. Reguläre Scriptausgaben wären in diesem Zusammenhang nicht erforderlich, weil es keinen gibt (und geben kann) der diese zu Gesicht bekommen würde.
#5
geschrieben 14. Juni 2017 - 10:04
Das Script läuft in der früh nach dem nächtlichen Abgleich und Zeitübertragung der Stunden am Vortag.
Das Script startet ein Programm und führt im Programm dann ein weiteres Script aus, das dann die Zeiten aus einem Zeiterfassungsprogramm die über Zeiterfassungsterminals gesammelt werden, rüberholt und bei sich einarbeitet und dann die Zeiten zu Kostenstellen zugeordent werden müssen vom MA.
Das Zeiterfassungsprogamm liegt auf einem anderen Server, es wird also über das Netzwerk die Daten geholt.
Wahrscheinlich liegt da das Problem, da es über das Netzwerk läuft.
Errorlevel habe ich bisher noch nichts mit zu tun gehabt und bin da nicht geübt.
Die Befehlszeile in der Batch ist kurz.
P:\CDLC101\bin\prowin32 -ininame P:\HKR\script\hkr32.ini -pf P:\HKR\script\hkrc32.pf -param BJ=1
Wie ich da nun Errorlevel Rückgabewerte auslese und in eine logdatei übertrage, ist mir so nicht geläufig.
Vielleicht habt ihr ja Tipps.
Danke
Das Script startet ein Programm und führt im Programm dann ein weiteres Script aus, das dann die Zeiten aus einem Zeiterfassungsprogramm die über Zeiterfassungsterminals gesammelt werden, rüberholt und bei sich einarbeitet und dann die Zeiten zu Kostenstellen zugeordent werden müssen vom MA.
Das Zeiterfassungsprogamm liegt auf einem anderen Server, es wird also über das Netzwerk die Daten geholt.
Wahrscheinlich liegt da das Problem, da es über das Netzwerk läuft.
Errorlevel habe ich bisher noch nichts mit zu tun gehabt und bin da nicht geübt.
Die Befehlszeile in der Batch ist kurz.
P:\CDLC101\bin\prowin32 -ininame P:\HKR\script\hkr32.ini -pf P:\HKR\script\hkrc32.pf -param BJ=1
Wie ich da nun Errorlevel Rückgabewerte auslese und in eine logdatei übertrage, ist mir so nicht geläufig.
Vielleicht habt ihr ja Tipps.
Danke
Thema verteilen:
Seite 1 von 1