Ich habe schon häufig nach einem Tool gesucht, mit dem man schnell für Active-Directory-Benutzer- und Rechnerkonten diejenigen heraussuchen kann, die bestimmte, interessante Eigenschaften haben, oder deren aktueller Status eine Besonderheit darstellt. Damit meine ich z.B. den tatsächlichen Zeitpunkt der letzten Anmeldung, den Lockout-Status, das Erzeugungsdatum, das Passwort-Ablaufdatum, den Status bzgl. Fine-Grained Password Policies und vieles mehr.
So nützlich es ist zu wissen, wann sich ein Benutzer oder ein Rechner zum letzten Mal aktiv in einer AD-Domäne betätigt hat, so aufwändig ist es, diesen Zeitpunkt auch technisch korrekt zu ermitteln. Es gibt das LDAP-Attribut lastLogonTimestamp, aber dieses ergibt nur einen sinnvollen Wert, wenn der Zeitpunkt der letzten Anmeldung ca. zwei Wochen zurück liegt. Damit kann es also genutzt werden für „Wer ist schon 6 Monate nicht mehr aktiv?“ , nutzt jedoch nichts für „Wer hat sich innerhalb der letzten 4 Stunden angemeldet?“. Das exakte Attribut lastLogon hingegen wird nicht zwischen Domänencontrollern repliziert, man muss also alle DCs der Domäne ausfindig machen, einzeln abfragen, und dann den neuesten Zeitwert nehmen. Zu allem Überfluss werden diese Werte als so genannte “Interger8 Values” abgespeichert – in einem 64-Bit-Wert werden die 100-Nanosekunden seit 1.1.1600 angegeben. Alles in allem also kein Zuckerschlecken.
Eine zweite Hürde: Die in Windows Server 2008 eingeführten Fine-Grained Password Policies erschweren eine einfache Ermittlung der Lockout-Zeiten und der Passwort-Ablaufzeiten. Die Konfiguration für Lockout- und Passwort-Richtlinien war vorher einheitlich für die gesamte Domäne, nun jedoch könnten für jeden User direkt oder über eine Gruppenmitgliedschaft abweichende Werte gelten, die dann natürlich in der Bewertung eine Rolle spielen, ob und wie lange dieser Benutzer gesperrt ist oder wann sein Passwort abläuft. Momentan gibt es noch keine bequeme Möglichkeit, durch ein mitgeliefertes Standard-GUI-Utility die Fine-Grained-Passwort-Richtlinien anzeigen zu lassen oder zu sehen, ob ein Account einer solchen Richtlinie unterliegt.
Sicher gibt es Drittanbieter-Tools, die speziell diese Eigenschaften für Benutzer- und Computer-Accounts darstellen können – und die auch die echten Sperr- und Passwort-Ablaufzeiten auf Basis der Fine-Grained Password Policies errechnen können. Zu nennen wären hier z.B. ADFind, OldCmp, SpecOps Password Policy Basic und bestimmt noch einige andere. Auch mit der Powershell kommt man natürlich mehr oder weniger bequem an alle Informationen …
Was mir gefehlt hat war ein Tool mit bequemer, kompakter Zusammenfassung dieser Informationen in einem grafischen Directory-Browser, in dem die Accounts einer Domäne in einer Liste dargestellt werden und die entsprechenden Infos dazu sofort in Spalten für jedes Konto zu sehen sind.
Kurz und gut – ich habe zu diesem Zweck das Tool LUMAX entwickelt und stelle es kostenlos zur Verfügung. Die Download-Adresse lautet
http://www.ldapexplorer.com/de/lumax.htm
Lumax ermittelt die oben genannten Infos (und noch einige mehr dazu), stellt alle Objekte in der gerade ausgewählten OU-Ebene dar (wahlweise auch für alle darunter liegenden Ebenen) und zeigt die Daten in konfigurierbaren Spalten an:
Selbstverständlich kann die Objektliste nach den Spaltenwerten jeder Spalte sortiert werden, außerdem kann die momentan angezeigte Liste als Text-Datei oder als formatiertes Excel-Sheet exportiert werden.
Zusätzlich dazu gibt es bequeme Möglichkeiten, diese Informationen für ganze Domänen markiert hervorzuheben oder auch die Anzeige nach diversen Kritereien zu filtern. LUMAX kommt mit vordefinierten Account Filtern wie z.B. diesen hier:
- zeige nur deaktivierte Accounts
- zeige nur Accounts, die momentan gesperrt sind
- zeige nur Accounts, die sich angemeldet haben in der letzten Stunde, dem letzen Tag, der letzten Woche usw.
- zeige nur Accounts, die sich NICHT angemeldet haben seit einer Stunde, einer Woche, sechs Monaten, einem Jahr usw.
- zeige nur Accounts, die sich noch nie angemeldet haben
- zeige nur Accounts, deren Passwort noch nie geändert wurde / seit 2 Wochen (1 Monat / 6 Monaten…) nicht geändert wurde
- zeige nur Accounts, die einer Fine-Frained Password Policy unterliegen
- zeige nur Accounts, deren Passwort heute ablaufen wird / in den nächsten 2 Tagen / bereits abgelaufen ist / niemals ablaufen wird
… und vieles mehr. Das Tool erlaubt es auch, sich mit LDAP/LDAP SSL zu jeder beliebigen Domäne mit expliziten Anmeldedaten zu verbinden. Der Rechner, auf dem LUMAX läuft, braucht also kein Mitglied der betreffenden Domäne oder des Forests zu sein.
LUMAX ist ein kostenloser Ableger in der Entwicklung des kommerziellen LDAP Browsers LEX The LDAP Explorer…
LUMAX hat zwei kostenlose Geschwister: LIZA (AD Objekt Permission Analysis) und LAZARUS (AD Deleted Object Recovery).
http://faq-o-matic.net/?p=2987