Computer in einem Netzwerk kommen und gehen. Beim Ausrangieren alter Hardware wird jedoch allzu oft vergessen, diese auch sauber aus dem Active Directory zu entfernen. Die Folge sind ein ADS voll alter Computer Objekte.
Es gibt einen komfortablen Befehl, diese zu finden: dsquery
Auf 2003 R2 Servern muss dafür das Support Tools Package (Adminpak) installiert sein.
Man benötigt auf dem Domaincontroller eine administrative Kommandozeile.
Search..
dsquery computer -inactive 52
Dieser Befehl sucht Computerobjekte, die seit 52 Wochen inaktiv sind, also sich seither nicht mehr beim Domaincontroller gemeldet haben.
Die Ausgabe lässt sich auch in eine Textdatei umleiten:
dsquery computer -inactive 52 > c:\temp\inactive.txt
and destroy
Achtung! Es ist empfehlenswert, zunächst den obigen Suchbefehl abzusetzen und dabei das Inaktivitätsintervall vernünftig groß zu halten. Denkbar wäre zum Beispiel, daß ein Mitarbeiter sein Notebook seit mehreren Wochen nicht mehr am internen LAN hatte. Diesen ohne Prüfung aus dem ADS zu werfen hätte unangenehme Nebeneffekte. 😉
dsquery computer -inactive 52 | dsrm -noprompt -c
Dieser Befehl ist gnadenlos. Er löscht alle gefundenen Objekte aus dem ADS. Normalerweise muss man jedes einzelne Objekt zur Löschung bestätigen. Der Parameter ‘-noprompt’ unterdrückt dies. Durch den Parameter ‘-c’ werden Fehler gemeldet, aber der Prozess nicht abgebrochen (continue).
Wer es etwas moderater angehen möchte, kann die Computerobjekte zunächst nur deaktivieren.
dsquery computer -inactive 52 | dsmod computer –disabled yes