Logon/Logoff Events
-
Wie bekomme ich über's Windows Event-Log raus, wann sich ein User eingeloggt hat.
Und mit "einloggen" meine ich jetzt ne grafische Session starten. Egal ob über den lokalen Bildschirm/Tastatur oder über RPC.Ich habe gerade in meinem "Security" Event-Log nachgesehen, und finde da zu dem Zeitpunkt wo ich mich eingeloggt habe keine Events mit meinem Usernamen.
"Audit account logon events" und "Audit logon events" sind beide auf "Success, Failure" eingestellt.
Das verwirrt mich gerade sehr, und viel wichtiger: ich bräuchte das für ein Projekt.
p.S.:
OS ist Windows XP Pro SP3 (en)Auf einem unserer Server auf dem ich es gerade probiert habe bekomme ich nen Event 528 beim Logon und Events 551 und 538 beim Logoff.
Sieht soweit gut aus. Bloss wieso bekomme ich nix auf meinem Entwickler-PC?

Und nochwas: anscheinend bekomme ich auch jedes mal nachdem ich meine Session gesperrt hatte, und sie wieder "aufmache" einen Event 528.
Wie kann ich die "entsperr" 528er und die "login" 528er unterscheiden?
Ohmannohmannohmann...
-
Nochwas: kennt jemand von euch ein gutes Tool, mit dem man Windows Event-Log Einträge "live" in eine Datenbank stopfen kann? Idealerweise gefiltert, mit konfigurierbarem Filter...
-
In was für eine Datenbank ? Wie wärs mit MySQL ?
mysql-essential-5.0.86-win32.msi
-
Wie wärs mit MSSQL?
-
Hilft Dir das?
http://technet.microsoft.com/en-us/library/bb742436.aspx
http://technet.microsoft.com/en-us/library/bb742435.aspx
http://technet.microsoft.com/en-us/library/cc751315.aspxAnsonsten müsste der Logontype bei einem Unlock der Workstation 7 sein.
Bei einem ersten Logon ist er IMHO 2.
Siehe auch https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=528
Siehe auch IMHO ntsecapi.h
-
OK, danke.
Kann man sich drauf verlassen dass der Logon-Type immer der Replacement-String mit Index 3 ist (von 0 ausgehend gezählt)?
Oder sollte man lieber das fertig formatierte Message-Feld parsen?Ich würde lieber direkt den Replacement-String verwenden, da weniger Aufwand und keine Scherereien mit Lokalisierung.
-
hustbaer schrieb:
OK, danke.
Kann man sich drauf verlassen dass der Logon-Type immer der Replacement-String mit Index 3 ist (von 0 ausgehend gezählt)?
Oder sollte man lieber das fertig formatierte Message-Feld parsen?Ich würde lieber direkt den Replacement-String verwenden, da weniger Aufwand und keine Scherereien mit Lokalisierung.
Passt es nicht eher, dass die ersten 4 Bytes einen Long ergeben?
Sie mal die Daten die in dem Binärteil stehen, als entsprechender "Stack-Inhalt" wie bei einen FormatMessage (zumindest ähnlich, entschuldige den etwas weiten Vergleich). Schau Dir mal die Maske an...
-
OK, jetzt steige ich gänzlich aus

Das...Passt es nicht eher, dass die ersten 4 Bytes einen Long ergeben?
...verstehe ich nämlich einfach nicht. Was meinst du damit? Was für 4 Bytes? Die "Event-Daten" sind leer wenn ich mir die ansehe. Gibt bloss die Replacement-Strings und die ganzen IDs/Category-Strings etc. mittels derer der passend Format-String gesucht wird.
Ich sollte vielleicht jetzt dazusagen, dass ich das mit .NET (C#) programmiere.
(Ich habe in WinAPI gepostet, da die Frage ursprünglich ja mehr mit Windows als mit .NET zu tun hatte.)Die Event-Log Einträge bekomme ich dort als System.Diagnostics.EventLogEntry
Und da steht eben in ReplacementStrings[3] der "Logon-Type" drinnen.
-
OK! Den Replacement Bereich meinte ich.
IMHO ist der konstant und ändert sich nicht zwischen den Windows Versionen wenn einmal ein Event festgelegt wurde.