Alte Computer-Konten aus dem Active Directory entfernen

    Alter IBM PCWenn man Computer aus einer Domäne entfernt, dann bleiben ihre Konten im Active Directory bestehen. Das gilt erst recht, wenn man alte PCs einfach ausmustert, ohne ihre Mitgliedschaft in einer Domäne zu beenden. Möchte man sein Verzeichnis von solchen Konten befreien, dann kann man das über Windows-eigene Dienstprogramme oder kostenlose grafische Tools machen.

    Die Problematik aufgelassener Computer-Accounts verschärft sich durch die Virtualisierung, weil VMs im Vergleich zu physikalischen Rechnern sehr einfach in Betrieb genommen und auch sehr schnell wieder eliminiert werden können. Auf diese Weise sammeln sich über die Zeit zahlreiche überflüssige Objekte im AD an.

    Deaktivierte Computer-Konten finden

    Vergleichsweise einfach kann man alle Computer finden, die sich explizit aus einer Domäne verabschiedet haben. Sie werden bei diesem Vorgang als disabled markiert und lassen sich darüber identifizieren. Zu diesem Zweck eignet sich eine Abfrage über dsquery:

    dsquery computer -disabled

    In PowerShell 3.0, auch in der Version für Windows 7, kann man alternativ zu dsquery das Cmdlet Search-ADAccount verwenden:

    Search-ADAccount -AccountDisabled -ComputersOnly

    Wenn man sicher ist, dass man die deaktivierten Computer-Konten löschen möchte, dann kann man dies beim Einsatz von dsquery tun, indem man den Output über eine Pipe an dsrm weiterleitet, also

    dsquery computer -disabled | dsrm

    Der entsprechende Befehl sieht in PowerShell so aus:

    Search-ADAccount -AccountDisabled -ComputersOnly | Remove-ADComputer

    Inaktive Computer aufspüren

    Problematisch ist das Entfernen von nicht mehr genutzten Computer-Konten dadurch, dass in kaum einer Firma alle PCs die Domäne verlassen, bevor sie ausgemustert werden. Die Konten haben daher nicht den Status disabled und lassen sich am ehesten dadurch erkennen, dass sie über gewissen Zeitraum inaktiv waren. Freilich kann dieser Fall auch bei Außendienstmitarbeitern auftreten, die lange nicht im Firmennetz waren, oder bei selten genutzten Notebooks, die ihre meiste Zeit im Schrank des Chefs verbringen.

    Wenn man die Verhältnisse in einer Firma kennt, dann lässt sich ein plausibler Zeitraum bestimmen, der dafür spricht, dass ein Computer aus dem Verkehr gezogen wurde. Mit dsquery würde man solche PCs folgendermaßen entdecken:

    dsquery computer -inactive 6

    Dieser Aufruf ermittelt alle Computer-Objekte, die sich seit mehr als 6 Wochen nicht mehr angemeldet haben. Standardmäßig gibt der Befehl eine Liste mit max. 100 Einträgen zurück. Diese Beschränkung kann man beseitigen, indem man als weiteren Parameter -limit <Zahl> angibt, wobei der Wert 0 dafür sorgt, dass alle Konten angezeigt werden.

    Die Entsprechung dazu sieht in PowerShell 3.0 so aus, wobei die Zeitspanne hier in Tagen angegeben wird:

    Search-ADAccount -AccountInactive -ComputersOnly -TimeSpan 42.00:00:00

    Nicht genutzte Konten auf disabled setzen

    Ein adäquates Vorgehen für Konten, die über einen längeren Zeitraum nicht genutzt wurden, bestünde darin, sie auf disabled zu setzen. Löscht man sie gleich, dann besteht die Gefahr, dass man auch solche erwischt, die noch benötigt werden. Beschwert sich in den folgenden Wochen niemand über das Deaktivieren der Konten, dann kann man sie anschließend relativ gefahrlos entfernen.

    Um inaktive Konten auf disabled zu setzen, kann man dsmod im Zusammenspiel mit dsquery verwenden:

    dsquery computer -inactive 6 | dsmod computer -disabled yes

    Das Pendant in PowerShell würde so aussehen:

    Search-ADAccount -AccountInactive -ComputersOnly -TimeSpan 42.00:00:00 | Set-ADComputer -Enabled 0

    GUI-Tools als Alternative

    Wenn man statt der Kommandozeile lieber grafische Tools einsetzt, dann gibt es für diese Aufgabe einige AD-Cleaner zur Auswahl. Eine solche Funktion gehört auch zu den meisten größeren Anwendungen für das AD-Management wie zum Beispiel AD Manager Plus.

    Das kostenlose AD Tidy kann verschiedene Kommandos auf die gefundenen Computer-Konten anwenden.

    Eine kostenlose Software, die auf diesen Zweck zu geschnitten ist, nennt sich AD Tidy. Das schlanke Programm erlaubt die Festlegung diverser Suchparameter, mit denen man nach inaktiven Computern und Usern recherchieren kann.

    Auf alle oder einzelne Einträge der Ergebnisliste lassen sich dann verschiedene Befehle anwenden, wie eben das Setzen auf disabled oder das Löschen der Objekte. Interessant an AD Tidy ist zudem die Möglichkeit, mehrere Befehle zu kombinieren, so dass man inaktive Computer-Konten in einem Rutsch deaktivieren und in eine bestimmte Gruppe oder OU verschieben kann.

    1 Kommentar

    Tobbi sagt:
    4. März 2013 - 20:18

    AD Tidy bzw. AD Info sind sehr nützliche Tools, kommen häufiger mal zum Einsatz.