Ich hoffe, dass irgendwo in Active Directory das "zuletzt angemeldete von [Computer]" geschrieben / gespeichert wird, oder gibt es ein Protokoll, das ich auswerten kann?
Der Zweck, den letzten angemeldeten PC kennen zu wollen, besteht darin, Remote-Support über das Netzwerk anzubieten - unsere Benutzer bewegen sich ziemlich selten herum, aber ich möchte wissen, dass das, worum es geht, an diesem Morgen aktualisiert wurde (wenn sie sich angemeldet haben) vermutlich) mindestens.
Ich denke auch über Anmeldeskripte nach, die die Benutzer- und Computernamen an einen bekannten Ort schreiben, auf den ich verweisen kann, aber einige unserer Benutzer möchten sich nicht für jeweils 15 Tage abmelden.
Wenn es eine elegante Lösung gibt, die Anmeldeskripte verwendet, erwähnen Sie sie auf jeden Fall - aber wenn es nur darum geht, die Station zu entsperren, wäre das sogar noch besser!
Dies geschieht über ein Anmeldeskript, das die Beschreibung des Computerobjekts in AD aktualisiert.
Sie müssen eine benutzerdefinierte Delegierung der Steuerung durchführen, damit "Authentifizierte Benutzer" die Beschreibungseigenschaft von Computerobjekten in der Domäne / den Domänen schreiben können.
Danach benötigen Sie lediglich ein Skript, das die gewünschten Informationen generiert und die Eigenschaften in das Computerobjekt schreibt. Dieses Skript wird dann über ein mit der Domäne verknüpftes Gruppenrichtlinienobjekt als Anmeldeskript zugewiesen.
Wir geben einen Zeitstempel, einen Benutzernamen und eine IP-Adresse in das Beschreibungsfeld ein. Der Zeitstempel steht an erster Stelle, da "alte" Computerobjekte durch Sortieren im Beschreibungsfeld schnell erkannt werden können.
Hier ist das Skript, das ich dafür geschrieben habe, wenn Sie es als Ausgangspunkt verwenden möchten:
quelle
Aus ähnlichen Gründen musste ich das gleiche Ergebnis erzielen. irgendwie feststellen, von welchem Rechner sich ein bestimmter Benutzer angemeldet hat. Ich wollte "vor der Tatsache" wissen und konnte Benutzeranmeldeskripte wie oben beschrieben nicht ändern.
Ich habe Powershell auf dem Domänencontroller verwendet, anhand dessen sich der Benutzer authentifiziert hat, um das Sicherheitsereignisprotokoll zu analysieren:
get-eventlog "Security" | where {$_.Message -like "*Username*" -AND "Source Network Address"} | export-csv C:\Temp\test.csv
Öffnen Sie die CSV-Datei mit Excel oder Ihrem FAV-Editor und suchen Sie nach dem neuesten Eintrag, in dem sowohl der Kontoname (Benutzername) als auch die Quellnetzwerkadresse innerhalb desselben Ereignisses angezeigt werden.
Dies ist möglicherweise keine 100% zuverlässige Lösung (abhängig von den DHCP-Lease-Zeiten usw.), aber es hat bei mir funktioniert.
quelle
Sie können die Überwachung für Kontoanmeldeereignisse aktivieren . Diese Ereignisse (einschließlich der Entsperrung der Arbeitsstation) werden im Sicherheitsprotokoll des Domänencontrollers gespeichert.
Es gibt auch Tools von Drittanbietern, die dies vereinfachen, z. B. True Last Logon .
quelle
Ich schreibe einfach den Benutzernamen (sowie andere Informationen wie Datum und Uhrzeit, einige Programmversionen usw.) mithilfe eines Anmeldeskripts in die Beschreibung des Computers. Auf diese Weise kann ich schnell und einfach alle Informationen von AD Users & Computers abrufen und als Bonus eine gute Möglichkeit finden, festzustellen, welche PCs in AD noch eine Weile nicht verwendet wurden (und daher höchstwahrscheinlich tote Computer sind).
quelle
ThatGraemeGuy , danke für das hervorragende Drehbuch! Ich musste es in PowerShell umschreiben, aber es funktioniert immer noch.
quelle
Der Trick, um zu wissen, wo sich Benutzer zuletzt angemeldet haben, ist neben den Vorschlägen von Adam die Protokollaggregation. Wenn Sie über mehrere Domänencontroller verfügen, müssen Sie entweder alle überprüfen oder die Protokollierung zentralisieren und dann das einzelne Protokoll überprüfen.
Einige, vielleicht sogar die meisten Tools von Drittanbietern sind intelligent genug, um alle Domänencontroller abzufragen. Aber wenn Sie darüber nachdenken, ein Skript zu schreiben, um es selbst zu analysieren, kann ich nicht stark genug argumentieren, um Ihre Protokolle zu zentralisieren.
quelle
Idealerweise würden Sie Folgendes für Ihr CSIRT-Team erfassen, um bei Untersuchungen zu helfen.
Benutzer-ID, die sich mit dem Namen der Arbeitsstation anmeldet. MAC-Adresse IP-Adresse Datum / Zeitstempel Anmeldetyp (rdp, interaktiv usw.)
Speichern Sie das dann in einem SQL-Befehl in einer Datenbank, die sie abfragen können. Überall werden Kleinigkeiten protokolliert, aber das Aufzeichnen spart Zeit, indem die Daten von DHCP / WINS-Servern usw. abgerufen werden.
quelle
Die einzige Möglichkeit, die neuesten Informationen zu erhalten, ist die Suche nach Protokollen. Verwenden Sie ein Tool wie Microsoft Operations Manager oder ein kostenloses Tool wie Snare, um interessante Ereignisprotokolle vom Server an einem zentralen Ort (normale Textdateien oder SQL-Datenbank) zu sammeln, und verwenden Sie dann Tools wie Logparser oder SQL-Abfragen, um den gewünschten Bericht zu erstellen.
Informationen zum Auffinden verschiedener Ereignis-IDs für verschiedene Ereignisse finden Sie in der Ereignisprotokoll-Enzyklopädie
Lassen Sie mich wissen, wenn Sie dieser Route folgen möchten, kann ich Ihnen helfen, die entsprechenden Abfragen für den Logparser zu erstellen.
quelle
Wenn Sie nach einer historischen Referenz suchen, können Sie ein Tool eines Drittanbieters wie Logon Central von Motivate Systems ausprobieren . Es zeichnet alle Active Directory-Benutzeranmeldungen auf und bietet eine Weboberfläche für Data Mining. Es enthält auch einige ziemlich gute Diagramme, die Anmeldestatistiken in Prozent Auslastung umsetzen.
quelle
ind Login in AD
Oft müssen wir wissen, ob eine bestimmte Anmeldung Teil einer Anzeigenbenutzergruppe ist. Oder manchmal müssen wir eine AD-Gruppe kennen und wollten wissen, wer alle Logins dazugehören.
Es gibt viele verschiedene Möglichkeiten, dies zu erreichen.
Ich folge diesem Schritt, um eine Verknüpfung auf meinem Desktop zu erstellen, auf der ich die Anmeldungen leicht finden kann. Bitte folgen Sie dem Prozess als
START-> RUN -> rundll32 dsquery, OpenQueryWindow
Hiermit können Sie alle ADs finden, zu denen Sie gehören.
Start-> Einstellungen-> Systemsteuerung -> Administrator-Tools -> Active Directory-Benutzer und -Computer Wählen Sie die Domäne aus, deren Anmeldung Sie suchen möchten, klicken Sie mit der rechten Maustaste auf diese Domäne und wählen Sie die Option „Suchen“.
quelle
Ich wollte dies als Kommentar zu Marcusjvs Antwort hinzufügen, aber ich habe nicht den Ruf, so dass eine separate Antwort genügen muss:
In diesem Ausdruck wird -AND "Source Network Address" immer als TRUE ausgewertet
Ich denke, was Sie brauchen, ist: get-eventlog "Security" | Dabei enthält {$ .Message-like "* username *" -AND $ .Message.contains ("Source Network Address")}
quelle