stoeps
Goto Top

W2k3: Batchdatei (cmd) regelmäßig am Monatsende ausführen

Hi zusammen, ich möchte immer am letzten Tag eines Monats die Webserverstatistiken mit analog erstellen lassen. Die zugehörigen Batchdateien und Einträge in at bzw. Geplante Tasks habe ich erstellt. Wenn man die Batch-/CMD-Dateien per Hand startet, laufen sie fehlerfrei.

Nun zum Problem:
Auf dem Server ist praktisch nie jemand angemeldet und daher laufen meiner Meinung nach die Geplanten Tasks nicht.

Beim AT bekomme ich auch keine Statistik, ich weiß aber nicht, ob das an meinem Eintrag liegt, oder ob man dazu auch angemeldet sein muss.

Gibt es eine Möglichkeit, eine Batchdatei (*.cmd) als Dienst zu starten, bzw. ohne angemeldeten User auszuführen?

Von einem anderen Rechner aus die Batchdatei aufzurufen ist leider keine Lösung, da bei uns auf keinem der Server dauerhaft angemeldet e Sitzungen vorhanden sind!

Ideen?

Danke schonmal.

Viele Grüße
Stöps

Content-Key: 47836

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

Printed on: April 23, 2024 at 09:04 o'clock

Member: geTuemII
geTuemII Jan 03, 2007 at 13:04:55 (UTC)
Goto Top
Hallo Stöps,

du mußt in der Geplanten Task einen Account festlegen, unter dem die Task ausgeführt werden soll. Task --> rechte Maus --> Eigenschaften --> Register Task --> Ausführen als --> (Eingabe) --> Password festlegen --> (Eingabe) --> ok

Wenn du deine Account verwendest (mit dem die Task ja offenbar händich funktioniert), beachte, daß eine Passwordänderung auch der Task bekannt gegeben werden muß.

Die Geplanten Tasks sind nicht davon abhängig, ob jemand angemeldet ist, sondern nur davon, ob der Account zu Ausführung berechtigt ist (und die Task ansonsten richtig konfiguriert ist).

geTuemII
Member: stoeps
stoeps Jan 03, 2007 at 21:23:20 (UTC)
Goto Top
Bist du dir da sicher?

Bei mir läuft der Task weder als lokaler Admin, Domänenadmin und nicht als SYSTEM!

Ich denke auch, daß ich schonmal wo gelesen habe, daß die geplanten Tasks nur im angemeldeten Zustand funktionieren.

Ich probier das zur Sicherheit morgen nochmal aus. Hab ja noch Hoffnung.
Member: moeller67
moeller67 Jan 03, 2007 at 21:58:04 (UTC)
Goto Top
Der Kollege hat dir das völlig richtig beschrieben, so werden bei mir auch regelmäßig Batch-Dateien ausgeführt. Gruß Stephan Möller
Member: stoeps
stoeps Jan 05, 2007 at 08:08:20 (UTC)
Goto Top
Hi nochmal,

ich hab das jetzt nochmal überprüft.

Der Taskplaner führt meine Datei statistik.cmd aus (zumindest zeigt er "Letzte Ausführungszeit" richtig an, aber die Batchdatei macht nichts.
Ich habe jetzt mal ein paar Echos in den Batchjob eingetragen, die mir die Zeit in eine Logdatei schreiben. Es werden keine Einträge in die Logdatei geschrieben, die Statistiken werden nicht erstellt!

Im Batchjob verwende ich nur komplette Pfade und alles liegt lokal.

Als ausführenden Benutzer hab ich den lokalen Administrator inkl. Passwort eingetragen. Laut Eventlog wird der auch zur betreffenden Zeit angemeldet.

Habt ihr noch Ideen, warum das nicht geht?
Member: geTuemII
geTuemII Jan 05, 2007 at 11:40:56 (UTC)
Goto Top
Hallo stoeps,

die erste Echo-Meldung hast du vor alle weiteren Befehle in die Batch eingetragen, und die tut auch nichts?

[Edit] @all: Gibt es irgendwelche Einschränkungen für .cmd, die zb. für .bat nicht gelten? [/Edit]

geTuemII
Member: moeller67
moeller67 Jan 05, 2007 at 13:00:50 (UTC)
Goto Top
- ich würde mal eine einfach Test-Batch mit einem einfachen copy- oder rename-Befehl
machen, ihn in einen Task stellen, um zusehen ob die Batch überhaupt ausgelöst werden.

Also meine Batch-Dateien laufen regelmäßig Nachts ohne Probleme. Früher auf NT-Server, jetzt auf WIN2003-Server.
Member: stoeps
stoeps Jan 05, 2007 at 22:47:07 (UTC)
Goto Top
Hi,

danke für die Antworten.

Die cmd beginnt mit

@echo off
set %zeit% = ...
echo Beginn Batch >> c:\test\batch.log

paar Befehle

echo Ende >> c:\test\batch.log

Wenn ich das als Admin ausführe klappt es. Wenn ich als der gleiche Admin den Geplanten Task einrichte (und unter diesem Kontext ausführen lasse), dann schreibt er nichts mehr in die *.log, behauptet aber im Fenster "Geplante Tasks" bei Letzte Ausführung das entsprechende Datum.

Ich probier am Montag mal eine reine echo.cmd mit einem Echo-Befehl

Schönes WE euch beiden!

Gruß
Stoeps