Wie man die letzte Anmeldezeit von Active Directory-Benutzern findet (mit ADUC). Active Directory ist eine zentrale Komponente vieler auf Windows basierender Netzwerke und dient als Datenbank von Benutzern, Gruppen und Computern, die Systemadministratoren verwalten. Eine wichtige Aufgabe für Systemadministratoren besteht darin, inaktive Benutzer Konten in Active Directory zu identifizieren und zu entfernen, um die Sicherheit zu verbessern und das Durcheinander im Verzeichnis zu reduzieren. Um dies zu erreichen, müssen Administratoren die letzte Anmeldezeit eines Benutzers im Active Directory finden.
Es gibt verschiedene Methoden, um dies zu erreichen, einschließlich der Active Directory Users and Computers Konsole, LDAP-Abfragen und PowerShell-Befehle. In diesem Thema untersuchen wir diese Methoden genauer und zeigen, wie Systemadministratoren ganz einfach den letzten Anmeldezeitpunkt eines Benutzers in Active Directory ermitteln können.
Sollen wir fortfahren mit dem Artikel Wie man den letzten Anmeldezeitpunkt von Active Directory-Benutzern ermittelt (Mit ADUC).
Wie man den letzten Anmeldezeitpunkt von Active Directory-Benutzern ermittelt (Mit ADUC)
3. Suchen Sie den Benutzer im AD-Baum und öffnen Sie dessen Eigenschaften.
4. Klicken Sie auf die Registerkarte Attribut-Editor.
5. Suchen Sie das letzte Anmeldeereignis in der Liste der Attribute, das die neueste Domänen Anmeldezeit des Benutzers anzeigt.
Hinweis. Die lastLogon und lastLogonTimestamp Eigenschaften auf dem Screenshot oben sind vergleichbar. Worin unterscheiden sie sich jedoch?
Anmeldezeitstempelattribute
- Wenn ein Benutzer sich bei einem Domänenkonto anmeldet, ändert sich dasletzteAnmelde-Attribut. Allerdings ändert es sich nur auf dem Domänencontroller, der den Benutzer für andere Domänencontroller authentifiziert hat. Daher müssen wir dieses Attribut bei jedem Domänencontroller überprüfen, wenn mehrere Domänencontroller über verschiedene Active Directory Standorte und Subnetze verteilt sind. Dann müssen wir die erhaltenen Informationen vergleichen. Der Wert dieses Attributs für einen Benutzer auf mehreren DCs kann sich unterscheiden oder sogar Null sein (wenn der Benutzer auf diesem DC nicht authentifiziert ist);
- Wenn ein Benutzer sich bei einem Domänencontroller anmeldet, wird auch das lastLogonTimeStamp Attribut entsprechend geändert und wir replizieren es auf andere DCs. Es dauert jedoch eine Weile, bis diese Eigenschaft repliziert wird (wir replizieren sie nur, wenn der aktuelle Wert vierzehn (14) Tage oder älter ist als der vorherige). Daher kann die Information in dieser Eigenschaft für einen bestimmten DC möglicherweise nicht aktuell genug sein.
Ab der Windows Server 2008 AD-Schemaversion (AD Schema objectVersion = 44) verwenden wir mehrere alternative Attribute im Zusammenhang mit der Anmeldung. Dazu gehören:
- msDS-LastFailedInteractiveLogonTime: zeigt die Zeit der letzten erfolglosen Anmeldeversuch.
- msDS-LastSuccessfulInteractiveLogonTime: zeigt die Zeit der letzten erfolgreichen Anmeldung an. Es ist wichtig, die AD-Schemaversion zu überprüfen, um festzustellen, ob es notwendig ist, das Active Directory-Schema zu aktualisieren.
Diese Eigenschaften, die wir verwenden, um Benutzer-interaktive Anmeldeversuche zu verfolgen, werden oft zwischen AD-Domänen Controllern dupliziert. Sie erfassen jedoch nicht automatisch Informationen über Benutzerpräferenzen.
Testen Sie unsere Active Directory & Office 365 Berichts- und Prüftools
Probieren Sie uns aus für Kostenlos. 100er Berichtsvorlagen verfügbar. Berichte zu AD, Azure AD & Office 355 einfach selbst anpassen.
Aktivieren von Anmeldeigenschaften mit Gruppenrichtlinie
Um diese Funktionen verfügbar zu machen:
- Aktivieren Sie die GruppenrichtlinieObjekt (GPO)-Einstellung „Bieten Sie Informationen über frühere Anmeldungen für Clientcomputer für Domänencontroller“ unter Computerkonfiguration > Verwaltungstemplates > System > KDC.
- Erstellen Sie eine GPO mit diesem Parameter.
- Weisen Sie die GPO dem Container für Domain Controller zu.
Um eine Liste von Benutzern zu erstellen, die seit einiger Zeit nicht mehr angemeldet sind in der Domäne, mithilfe einer LDAP-Abfrage in der grafischen Konsole des Active Directory, führen Sie folgende Schritte aus:
- Konvertieren Sie das gewünschte Datum in das ToFileTime Format. Zum Beispiel, wenn wir Benutzer suchen möchten, die seit über 90 Tagen nicht mehr angemeldet sind, verwenden wir den PowerShell-Befehl um den Wert des Datums zu erhalten:
(Get-Date).AddDays(-90).ToFileTime()
Dieser Codeausschnitt liefert einen Wert im Epochenzeitformat wie 132988354159396418 basierend auf dem angegebenen Datum.
2. Fügen Sie den FileTimeDate-Wert in die LDAP-Abfrage ein:
console.log( 'Code is Poetry' );
3. Öffnen Sie die AD-Benutzer und -Computerkonsole, klicken Sie mit der rechten Maustaste auf den Gespeicherte Abfragen Knoten, und klicken Sie auf Neu, dann Abfrage.
4. Benennen Sie die Abfrage und klicken Sie auf die Abfrage definieren Schaltfläche.
5. Wählen Sie Benutzerdefinierte Suche aus der Dropdownliste und wechseln Sie zur Erweiterten Registerkarte.
6. Fügen Sie die LDAP-Abfrage in das Feld „LDAP-Abfrage eingeben“ ein.
7. Speichern Sie die Abfrage, indem Sie auf OK klicken und dann mit einem weiteren OK bestätigen.
8. Wählen Sie die Abfrage in den gespeicherten Abfragen aus und drücken Sie F5 zum Aktualisieren der Objektliste. Die ADUC-Konsole zeigt eine flache Liste der Benutzer an, die zuletzt eingeloggt waren und dies mehr als 90 Tage getan haben.
9. Entfernen oder deaktivieren Sie die inaktiven Domänenbenutzerkonten direkt aus der AD-Konsole.
Finden Sie die letzte Anmeldungszeit mit CMD
Als Nächstes lernen wir, wie man den letzten Anmeldezeitpunkt von Active Directory-Benutzern mithilfe der CMS ermittelt. Indem wir die Tools net oder dsquery über die Befehlszeile verwenden, können wir feststellen, wann der Benutzer zuletzt in das Domänennetzwerk eingeloggt ist. Zum Beispiel führen wir folgenden Befehl in einem Befehlszeilenterminal aus (um AD-Benutzer Informationen zu erhalten, benötigen wir keine Berechtigungen als Domänenadministrator):
net user administrator /domain | findstr "Last"
Wenn wir den letzten Anmeldezeitpunkt eines lokalen Benutzers ermitteln möchten, müssen wir das /domain -Parameter entfernen:
net user User | findstr "Last"
Wir können auch den letzten Anmeldezeitpunkt mithilfe von dsquery ermitteln. Zum Beispiel:
dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=admin))" -attr distinguishedName lastLogon lastLogonTimestamp -limit 0
Das Hauptproblem besteht darin, dass die Attribute lastLogonTimestamp und lastLogon im AD im Zeitstempelformat vorliegen und wir sie in ein normales Zeitformat umwandeln müssen.
Wir verwenden diesen Befehl zum Beispiel, um alle inaktiven Benutzer für einen Zeitraum von 10 Wochen zu finden:
dsquery user domainroot -inactive 10
Finden Sie die letzte Anmeldezeit mithilfe von PowerShell
Wir verwenden auch PowerShell, um die letzte Domäne des BenutzersAnmeldung Zeit zu erhalten. Dafür müssen wir dasPowerShell Active Directory-Modul und PowerShellBefehleverwenden. Öffnen Sie zuerst PowerShell und führen Sie den Import-ModuleCmdlet aus, um dasActive DirectoryModul zu importieren:
Import-Module ActiveDirectory
Auch lesen Sie Aktives Verzeichnis Benutzer An- und Abmeldungsberichtswerkzeug (Erweitertes Filter)Finden Sie die inaktiven Benutzer innerhalb einer festgelegten Anzahl von Tagen
Get-ADUser -Identity username -Properties LastLogon | Select-Object -Property Name, LastLogon
Um Konten zu finden, die sich seit einer bestimmten Anzahl von Tagen, beispielsweise 90 Tagen, nicht angemeldet haben, verwenden wir einen PowerShell-Befehl, der Benutzerkonten basierend auf ihrem LastLogonZeitstempel-Attribut filtert. Hier ist ein Beispielbefehl:
Get-ADUser -Filter {Name -eq "username"} -Properties * |
Select-Object Name, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}
Dieser Befehl sucht nach Konten, die seit 90 Tagen oder länger inaktiv waren, und wählt nur diejenigen aus, die Benutzerkonten sind. Anschließend werden die Namen dieser Benutzerkonten und ihr LastLogonTimestamp-Attributwert angezeigt, der die letzte Anmeldezeit des Benutzers in der Domäne darstellt.Wir passen den TimeSpan-Parameter an, um nach Konten zu suchen, die für eine andere Anzahl von Tagen inaktiv waren. Wenn wir beispielsweise nach Konten suchen möchten, die seit 60 Tagen inaktiv sind, setzen wir TimeSpan auf 60.00:00:00.Beachten Sie, dass AD den
Finde inaktive Benutzer innerhalb einer festgelegten Anzahl von Tagen
Um Konten zu finden, die seit einer bestimmten Anzahl von Tagen nicht mehr angemeldet wurden, wie zum Beispiel 90 Tage, verwenden wir einen PowerShell-Befehl, der Benutzerkonten basierend auf ihrem LastLogonTimestamp -Attribut filtert. Hier ist ein Beispielbefehl:
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | where {$_.ObjectClass -eq 'user'} | Select-Object Name, LastLogonTimestamp
Dieser Befehl sucht nach Konten, die seit 90 Tagen oder länger inaktiv sind, und wählt nur diejenigen aus, die Benutzerkonten sind. Anschließend werden die Namen dieser Benutzerkonten und ihr LastLogonTimestamp -Attributwert angezeigt, der den letzten Zeitpunkt darstellt, zu dem der Benutzer sich im Domänenverbund angemeldet hat.
Wir passen den TimeSpan -Parameter an, um nach Konten zu suchen, die für eine andere Anzahl von Tagen inaktiv waren. Zum Beispiel, wenn wir nach Konten suchen möchten, die seit 60 Tagen inaktiv sind, setzen wir TimeSpan auf 60.00:00:00.
Beachten Sie, dass AD das Attribut LastLogonTimestamp aktualisiert, nachdem ein Benutzer sich in das System ein- oder ausgeloggt hat, sodass der Wert möglicherweise teilweise genau ist. Auch wird dieses Attribut standardmäßig nur alle 9-14 Tage zwischen den Domänencontrollern repliziert, sodass wir möglicherweise nur aktuelle Informationen für einige Benutzerkonten erhalten.
In CSV-Datei exportieren
Um die Liste der inaktiven Benutzerkonten in eine CSV-Datei zu exportieren, ändern wir den zuvor bereitgestellten PowerShell-Befehl, um den Export-CSV-Cmdlet einzuschließen. Hier ist ein Beispielbefehl:
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 |
where {$_.ObjectClass -eq 'user'} |
Select-Object Name, LastLogonTimestamp |
Export-CSV C:\InactiveUsers.csv -NoTypeInformation
Dieser Befehl sucht nach Konten, die 90 Tage oder länger inaktiv waren und wählt nur diejenigen aus, die Benutzerkonten sind. Anschließend werden die Name– und LastLogonTimestamp-Eigenschaften dieser Benutzerkonten ermittelt und in eine CSV-Datei am Speicherort “C:\InactiveUsers.csv” exportiert.
Der Parameter „-NoTypeInformation“ gibt an, dass die CSV-Datei keine .NET-Typinformationen für jedes Objekt enthalten soll, was die Datei leichter lesbar macht. Nach Ausführung dieses Befehls öffnen wir die CSV-Datei mit Excel oder einer anderen Tabellenkalkulationsanwendung, um die Liste der inaktiven Benutzer-Konten und ihre letzten Anmeldezeiten anzuzeigen.
Vielen Dank für das Lesen des Artikels „Wie man die letzte Anmeldezeit von Active Directory-Benutzern findet (mit ADUC)“. Wir werden ihn jetzt abschließen.
Wie man die letzte Anmeldezeit von Active Directory-Benutzern findet (mit ADUC) Abschluss
Abschließend ist es für Systemadministratoren eine wesentliche Aufgabe, die letzte Anmeldezeit eines Benutzers im Active Directory zu finden, da dies ihnen ermöglicht, inaktive Benutzerkonten zu identifizieren, die deaktiviert oder entfernt werden können, um die Sicherheit zu verbessern und Unordnung im Verzeichnis zu reduzieren. Wir erreichen dies mithilfe verschiedener Methoden, einschließlich der Active Directory-Benutzer und Computer-Konsole, LDAP-Abfragen und PowerShell-Befehle.
Mit den richtigen Tools und Techniken finden Systemadministratoren schnell und einfach die letzte Anmeldezeit eines Benutzers im Active Directory und ergreifen geeignete Maßnahmen, um ihr Verzeichnis effektiv zu verwalten.
Source:
https://infrasos.com/how-to-find-active-directory-users-last-logon-time-using-aduc/