gelöst Letzten Login anzeigen - Auswertung einer Logdatei

Mitglied: EasyEyeSystem

EasyEyeSystem (Level 1)

16.10.2007, aktualisiert 17.10.2007, 9122 Aufrufe, 4 Kommentare

Ich habe ein Loginscript das jeden Logon speichert.

Inhalt des Loginscript:
login BenutzerName 16.10.2007 17:20:54,57
login BenutzerName 16.10.2007 17:20:51,12
login BenutzerName 16.10.2007 17:20:50,24
login BenutzerName 16.10.2007 17:20:45,45
login BenutzerName 16.10.2007 17:20:41,54


Ih würde hier gerne folgendes ausgeben

Das letzte LoginDatum und die letzte Login Uhrzeit (das komm kann bestehen bleiben.
Ausgabebeispiel:
Sie haben sich das letzte mal angemeldet am %datum-datei-letzter-login% um %uhrzeit-datei-letzter-login%.

JEdoch sollte hier wirklich nur der letzte Login angezeigt werden.

Wie kann ich das realisieren?


[Edit Biber] Titel editiert. Alt: "Letzter Logi anzeigen" [/Edit]
Mitglied: bastla
16.10.2007 um 18:41 Uhr
Hallo EasyEyeSystem!

Etwa so (für eine Datei "D:\Login.txt"):
01.
@echo off & setlocal
02.
for /f "tokens=3,4" %%i in ('sort D:\Login.txt') do set "Datum=%%i" & set "Zeit=%%j"
03.
echo Sie haben sich zuletzt angemeldet am %Datum% um %Zeit:~0,-3%
Grüße
bastla
Mitglied: Biber
16.10.2007 um 19:43 Uhr
Moin bastla,

....wobei das "Sort" bei dieser Logdatei eher schaden als nützen kann:
- wenn tatsächlich verschiedene Benutzernamen darin stehen sinkt die Wahrscheinlichkeit, den eigenen letzten Login angezeigt zu bekommen relativ rasch. Für Benutzernamen wie "bastla" oder "Biber" allerdings schneller als für "Zorro" oder "Zaphod".
- dann doch lieber statt des "sort" ein Wegfiltern der anderen Benutzerzeilen mit "Find"/"Findstr".

--> .... in ('findstr /i "%angemeldeterUsername%" D:\Login.txt') do set ...
---> Wenn "angemeldeterUsername" sich nicht vom Anmeldenamen unterscheidet, dann eben %username%

Grüße
Biber
Mitglied: bastla
16.10.2007 um 20:16 Uhr
@Biber

....wobei das "Sort" bei dieser Logdatei eher schaden als nützen kann:
Für die oben dargestellte Datei funktioniert's gut ...

... aber natürlich ist es wahrscheinlicher, dass verschiedene Benutzer darin vorkommen.

Das "sort" ist nur eine Alternative zur Verwendung eines "if not defined ..." (da ja lt Beispiel die neuesten Einträge am Beginn der Datei stehen sollten), weil ich damit einfach den letzten (passenden) Eintrag verwenden kann.

Grüße
bastla
Mitglied: EasyEyeSystem
17.10.2007 um 17:52 Uhr
ok jedoch sollte der BEnutzername anders sein gibt es trotzdem das letzte ergebnis an.

LogDatei mit mehreren Benutzern
LogIn User 17:48 17.10.2007
LogIn Gast 17:49 17.10.2007
LogIn User 17:50 17.10.2007
LogIn User 17:52 17.10.2007
LogIn Administrator 17:54 17.10.2007

Meine Aktuelle Auslesedatei:
01.
@echo off 
02.
for /f "tokens=3,4" %%i in ('findstr /i "%username%" C:\ComputerLogon\LogFile-Logfile.log') do set "Datum=%%i" & set "Zeit=%%j"
03.
echo Letzer Login:
04.
echo Am %Zeit:~0% 
05.
echo Um %Datum%
Jedoch gibt es hier einen Fehler
Wenn der Letzte User Administrator gewesen ist und sich der User anmeldet wird trotzdem der Administrator ausgegeben. Diese Zeit stimmt jedoch nicht für den Benutzer
Was haber ich in meiner BAtch Falsch=

edit:
Die zwei " bei username mussten weg jetzt geht es
Titel: Letzten Login anzeigen - Auswertung einer Logdatei
Content-ID: 71116
Art des Inhalts: Frage
Ausgedruckt am: 24.08.2019 um 21:58:21 Uhr
URL: https://administrator.de/contentid/71116