Ich wurde gebeten, herauszufinden, wann sich ein Benutzer in der letzten Woche am System angemeldet hat. Jetzt sollten die Überwachungsprotokolle in Windows alle Informationen enthalten, die ich benötige. Ich denke, wenn ich nach der Ereignis-ID 4624 (Anmeldeerfolg) mit einem bestimmten AD-Benutzer und dem Anmeldetyp 2 (Interaktive Anmeldung) suche, sollte sie mir die Informationen liefern, die ich benötige, aber während meines Lebens kann ich nicht herausfinden, wie ich tatsächlich filtern soll Das Ereignisprotokoll, um diese Informationen abzurufen. Ist es innerhalb der Ereignisanzeige möglich oder müssen Sie ein externes Tool verwenden, um es auf diese Ebene zu analysieren?
Ich fand http://nerdsknowbest.blogspot.com.au/2013/03/filter-security-event-logs-by-user-in.html, was Teil dessen zu sein schien, was ich brauchte. Ich habe es leicht modifiziert, um mir nur die letzten 7 Tage zu geben. Unten ist das XML, das ich ausprobiert habe.
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[(EventID=4624) and TimeCreated[timediff(@SystemTime) <= 604800000]]]</Select>
<Select Path="Security">*[EventData[Data[@Name='Logon Type']='2']]</Select>
<Select Path="Security">*[EventData[Data[@Name='subjectUsername']='Domain\Username']]</Select>
</Query>
</QueryList>
Es gab mir nur die letzten 7 Tage, aber der Rest hat nicht funktioniert.
Kann mir jemand dabei helfen?
BEARBEITEN
Dank den Vorschlägen von Lucky Luke habe ich Fortschritte gemacht. Das Folgende ist meine aktuelle Abfrage, obwohl sie, wie ich noch erläutern werde, keine Ergebnisse liefert.
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[(EventID='4624')]
and
System[TimeCreated[timediff(@SystemTime) <= 604800000]]
and
EventData[Data[@Name='TargetUserName']='john.doe']
and
EventData[Data[@Name='LogonType']='2']
]
</Select>
</Query>
</QueryList>
Wie ich bereits erwähnte, lieferte es keine Ergebnisse, also habe ich ein bisschen damit rumgespielt. Ich kann die Ergebnisse korrekt ausgeben, bis ich sie in die LogonType-Zeile einfüge. Danach werden keine Ergebnisse zurückgegeben. Irgendeine Idee, warum das sein könnte?
BEARBEITEN 2
Ich habe die LogonType-Zeile folgendermaßen aktualisiert:
EventData[Data[@Name='LogonType'] and (Data='2' or Data='7')]
Dies sollte sowohl Workstation-Anmeldungen als auch Workstation-Entsperrungen erfassen, aber ich erhalte immer noch nichts. Ich ändere es dann, um nach anderen Anmeldetypen wie 3 oder 8 zu suchen, von denen es reichlich findet. Dies lässt mich glauben, dass die Abfrage korrekt funktioniert, aber aus irgendeinem Grund sind in den Ereignisprotokollen keine Einträge mit dem Anmeldetyp 2 vorhanden, und dies macht für mich keinen Sinn. Ist es möglich, dies auszuschalten?
Antworten:
Sie sind auf dem richtigen Weg - einer der Fehler in Ihrer Abfrage ist das Leerzeichen in "Anmeldetyp". Es sollte nur "Anmeldetyp" sein.
Ich habe eine Abfrage eingefügt, die ich gerade überprüft habe. Es ist ein bisschen vereinfacht, aber Sie bekommen die Idee. Es zeigt Ihnen alle 4624 Ereignisse mit Anmeldetyp 2 von Benutzer 'john.doe'.
Weitere Informationen zu XML-Abfragen in der Ereignisanzeige finden Sie hier: http://blogs.technet.com/b/askds/archive/2011/09/26/advanced-xml-filtering-in-the-windows-event- viewer.aspx .
Sie können Ereignisse über die Befehlszeile mit wevtutil.exe abfragen: http://technet.microsoft.com/en-us/magazine/dd310329.aspx .
quelle
Ich fand diese Frage und musste ein wenig arbeiten, um Inhalte aus den akzeptierten Antworten und Fragenaktualisierungen zusammenzuführen, um eine funktionierende Lösung zu erhalten. Ich dachte, ich würde hier eine vollständige funktionierende Abfragesyntax veröffentlichen, um später darauf zurückgreifen zu können:
Die obige Abfrage sollte funktionieren, um die Ereignisse anhand der folgenden Parameter einzugrenzen:
Sie können die LogonTypes im Filter ändern, indem Sie
(Data='10')
den obigen Code ändern . Zum Beispiel möchten Sie vielleicht(Data='2')
oder(Data='10' or Data='2')
.quelle