Batch

w0nder

Herzlich willkommen!
Eigentlich hatte ich mir das ganz einfach vorgestellt.
Ich betreue einen Terminalserver und möchte gerne die an und Abmeldezeit mitloggen um diese im Anschluß mit Excel auswerten zu können. Bei der Anmeldung kann ich über die Richtlinien ein Script starten und bei der Abmeldung ebenfalls eines. Zur Zeit hatte ich beim starten ein Script in dem eigentlich nur:
echo %username%,%date%,%time >> log.txt
Script 2 bei der Abmeldung hatte genau den gleichen Inhalt. Nun stehen aber LogonZeit und Logoffzeit
untereinander und es kommen von diversen anderen Usern (ist schließlich ein Terminalserver) noch diverse logs dazwischen. Das erleichtert eine Auswertung mit Excel nicht gerade.

Ich dachte mir also, ich schreibe die Anmeldung in eine Datei und die Abmeldung in eine andere und füge diese bei der Abmeldung wieder zusammen. copy datei1+datei2 datei3. Problem echo fügt einen Zeilenumbruch in die Dateien und die Logs stehen noch immer untereinander. Ich würde aber gerne die Anmeldezeit neben der Abmeldezeit haben. Das kann ich dann ganz einfach mit Excel auswerten.

Wie geht das mit Batch (das verstehe ich wenigsten etwas)
 
Du willst also, dass die Log-Datei beim Beenden der Sitzung nach dem Usernamen durchforstet wird und hinter der gefundenen Zeile das Abmeldedatum/Uhrzeit eingetragen wird?

Das wird mit Batch ziemlich schwer (wenn nicht unmöglich). Einfacher wäre da freilich ein C-Programm.

Aber wenn du doch sowieso mit mehreren Log-Dateien hantieren willst, wieso setzt du dann nicht einfach folgenden String in's Ab- und Anmeldeskript:

echo %username%,%date%,%time >> %username%.txt

Somit wird für jeden User ein Log-File angelegt, die du dann ohne größere Probleme auswerten kannst :)
 
Eigentlich hatte ich nicht an mehrere Logdateien gedacht. Und eine Logdatei für jedne user ist denke ich auch nicht sonderlich einfach auszuwerten, da sich an eine Terminalserver doch so einige anmelden. Ich möchte eigentlich nicht über 100 Dateien auswerten.

Trotzdem Danke.

Ich denke ich werde wohl nicht drumherum kommen mich doch mal mit einer Programmiersprache zu beschäftigen.
 
Die Datei user.log beim Anmelden anlegen und einfach beim Abmelden einlesen, Abmeldezeit anhängen und an die Komplettliste anfügen. Dannach die %username%.log wieder löschen. Gibt nur Chaos, wenn sich jemand öfters anmeldet. aber dann würde z.B. eine Variable helfen.
Beim Anmelden set logontime=... und beim Abmelden echo %logontime$ %time% %date% > alleuser.log
oder so ähnlich ;)

MM
 
Oben