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-ID: 47836

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

Ausgedruckt am: 08.11.2024 um 21:11 Uhr

geTuemII
geTuemII 03.01.2007 um 14:04:55 Uhr
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
stoeps
stoeps 03.01.2007 um 22:23:20 Uhr
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.
moeller67
moeller67 03.01.2007 um 22:58:04 Uhr
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
stoeps
stoeps 05.01.2007 um 09:08:20 Uhr
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?
geTuemII
geTuemII 05.01.2007 um 12:40:56 Uhr
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
moeller67
moeller67 05.01.2007 um 14:00:50 Uhr
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.
stoeps
stoeps 05.01.2007 um 23:47:07 Uhr
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