Windows Server

11 wichtige Tools zur Verwaltung von Active Directory

Laura E. Hunter

 

Kurz zusammengefasst:

  • Erstellen von Objekten in der Befehlszeile
  • Durchführen von Massenoperationen in Active Directory
  • Aktualisierung und Wartung von Active Directory

Wenn Ihnen jemand eine Excel-Tabelle mit den 200 neuen Mitarbeitern der nächsten Woche übergeben hat, wenn Ihre Benutzerkonten falsch konfiguriert sind, weil Helpdeskmitarbeiter auf einen Eintrag geklickt haben,

auf den sie nicht hätten klicken sollen, oder wenn Sie, die Verwaltung von Active Directory® vereinfachen wollen, ohne „Benutzer und Computer“ ständig öffnen zu müssen, können Sie mehrere kostenlose Verwaltungstools nutzen. Einige sind in das Windows®-Betriebssystem integriert, manche sind Teil eines Resource Kit oder der Windows Support Tools, und andere wiederum sind frei erhältliche Tools von Drittanbietern. Was genau machen diese praktischen Tools, und wo kann man sie bekommen? Das möchte ich Ihnen hier verraten.

Da wären einmal die integrierten Befehlszeilentools in Windows Server® 2003, mit denen Sie Objekte in Active Directory erstellen, löschen, bearbeiten und suchen können.

CSVDE

Mit dem CSV-Tool, genannt CSVDE (Comma-Separated Values Data Exchange), können Sie über eine CSV-Quelldatei neue Objekte in Active Directory importieren. Sie können außerdem bestehende Objekte in eine CSV-Datei exportieren. CSVDE kann nicht verwendet werden, um bestehende Objekte zu bearbeiten. Wenn Sie das Tool im Importmodus verwenden, können Sie damit nur ganz neue Objekte erstellen.

Bestehende Objekte mit CSVDE zu exportieren ist kinderleicht. Active Directory-Objekte in die Datei ad.csv exportieren:

csvde –f ad.csv

Der Schalter –f zeigt an, dass der Name der Ausgabedatei folgt. Sie müssen jedoch in Betracht ziehen, dass diese einfache Syntax, In Abhängigkeit von Ihrer Umgebung, zu einer enorm großen Ausgabedatei führen könnte. Um mit dem Tool nur Objekte innerhalb einer bestimmten Organisationseinheit (OU) zu exportieren, könnten Sie den Befehl wie folgt abändern:

csvde –f UsersOU.csv –d ou=Users,dc=contoso,dc=com

Nehmen wir darüber hinaus an, dass Sie nur Benutzerobjekte in Ihre CSV-Datei exportieren möchten. In diesem Fall könnten Sie den Schalter -r hinzufügen, mit dem Sie für die Suche einen LDAP-Filter (Lightweight Directory Access-Protokoll) festlegen. Mit dem Schalter –l können Sie die Anzahl der exportierten Attribute einschränken (der Befehl muss auf einer Zeile stehen):

csvde –f UsersOnly.csv –d ou=Users,dc=contoso,dc=com –r 
    "(&(objectcategory=person)(objectclass=user))" –l 
    DN,objectClass,description

Der Schalter –l ermöglicht Ihnen, Objekte aus einer Quell-CSV-Datei in Active Directory zu importieren. Beim Erstellen von Benutzerobjekten mit CSVDE gilt jedoch eine wichtige Regel: Sie können damit keine Benutzerkennwörter festlegen. Aus diesem Grund empfiehlt sich CSVDE nicht zum Erstellen von Benutzerobjekten.

LDIFDE

Mit LDIFDE enthält Active Directory ein zweites Tool für Massenbenutzerkontomodifikationen. Es ist leistungsfähiger und flexibler als CSVDE. Neben dem Erstellen von neuen Objekten können Sie mit LDIFDE bestehende Objekte bearbeiten und löschen und auch das Active Directory-Schema erweitern. Die Flexibilität von LDIFDE bringt aber auch einen Nachteil mit sich: Für die Eingabe ist eine Datei mit der Erweiterung „ldf“ erforderlich, die ein komplexeres Format aufweist, als eine einfache CSV-Datei. (Mit ein wenig Aufwand können Sie auch Benutzerkennwörter konfigurieren, aber darauf werde ich später eingehen.)

Beginnen wir mit einem einfachen Beispiel, dem Exportieren von Benutzerkonten in einer Organisationseinheit in eine LDF-Datei (nachfolgender Befehl muss auf einer Zeile stehen):

ldifde -f users.ldf -s DC1.contoso.com -d "ou=UsersOU,dc=contoso,dc=com"
       –r "(&(objectcategory=person)(objectclass=user))"

Analog zu den meisten anderen Befehlszeilentools können Sie über den Befehl „LDIFDE /?“ eine vollständige Erklärung der LDIFDE-Schalter anzeigen. Abbildung 1 enthält die hier von mir verwendeten Schalter. (Beachten Sie, dass die Schalter für die CSVDE- und für die LDIFDE-Befehle gleich sind.)

Figure 1 LDIFDE-Schalter

Schalter Beschreibung
-d Gibt den LDAP-Pfad an, mit dem LDIFDE eine Verbindung für den Vorgang herstellen soll.
-f Zeigt den Namen der zu verwendenden Datei an. In unserem Beispiel ist dies die Datei, in die das Exportergebnis geschrieben werden soll.
-r Gibt den LDAP-Filter an, der für einen Export verwendet werden soll.
-s Gibt den Domänencontroller (DC) an, mit dem eine Verbindung hergestellt werden soll und der den Vorgang durchführen wird. Wird hier nichts angegeben, stellt LDIFDE eine Verbindung zum lokalen DC her, oder dem DC, der Sie authentifiziert hat, wenn Sie das Tool von einer Arbeitsstation aus ausführen.
   

Die wirkliche Stärke von LDIFDE aber liegt im Erstellen und Bearbeiten von Objekten. Zuvor müssen Sie jedoch eine Eingabedatei erstellen. Mit dem folgende Befehl werden zwei neue Benutzerkonten, „afuller“ und „rking“, erstellt. Um die Eingabedatei zu erstellen, geben Sie den Text in Notepad (oder Ihrem bevorzugten Texteditor) ein und speichern ihn unter dem Namen „NewUsers.ldf“:

dn: CN=afuller, OU=UsersOU, DC=contoso, DC=com 
changetype: add 
cn: afuller
objectClass: user 
samAccountName: afuller 

dn: CN=rking, OU=UsersOU, DC=contoso, DC=com 
changetype: add 
cn: rking
objectClass: user 
samAccountName: rking 

Nachdem Sie die Datei erstellt haben, führen Sie folgenden Befehl aus:

ldifde –i –f NewUsers.ldf –s DC1.contoso.com

Als einziger neuer Schalter kommt dabei -i ins Spiel, der, wie Sie vermutlich schon erraten haben, nicht mehr auf einen Export-, sondern auf einen Importschritt hinweist.

Beim Ändern oder Löschen bestehender Objekte ändert sich die Syntax des LDIFDE-Befehls nicht. Sie bearbeiten statt dessen den Inhalt der LDF-Datei. Um das Beschreibungsfeld der Benutzerkonten zu ändern, erstellen Sie die Textdatei „ModifyUsers.ldf“, (siehe Abbildung 2).

Abbildung 2 ModifyUsers-LDF-Datei

Abbildung 2** ModifyUsers-LDF-Datei **(Klicken Sie zum Vergrößern auf das Bild)

Sie importieren die Änderungen durch Ausführen der gleichen LDIFDE-Befehlssyntax wie vorher und geben dabei nach dem Schalter -f den Namen der neuen LDF-Datei an. Das LDF-Format zum Löschen von Objekten ist noch einfacher. Um die Benutzerkonten zu löschen, mit denen Sie gearbeitet haben, erstellen Sie die Datei „DeleteUsers.ldf“ und geben Folgendes ein:

dn: CN=afuller OU=UsersOU, DC=contoso, DC=com 
changetype: delete

dn: CN=rking, OU=UsersOU, DC=contoso, DC=com 
changetype: delete

Anders als bei CSVDE, kann man mit LDIFDE Benutzerkennwörter konfigurieren. Bevor Sie aber das Attribut „unicodePWD“ für ein Benutzerkonto konfigurieren können, müssen Sie die Secure Sockets Layer/Transport Layer Security-Verschlüsselung (SSL/TLS) auf Ihren Domänencontrollern konfigurieren.

Außerdem können Sie in LDIFDE neben Benutzerkonten alle Arten von Active Directory-Objekten erstellen und bearbeiten. Die folgende LDF-Datei erstellt z. B. die benutzerdefinierte Schemaerweiterung „EmployeeID-example“ nach dem Strukturvorbild von contoso.com:

dn: cn=EmployeeID-example,cn=Schema,
cn=Configuration,dc=contoso,dc=com
changetype: add
adminDisplayName: EmployeeID-Example
attributeID: 1.2.3.4.5.6.6.6.7
attributeSyntax: 2.5.5.6
cn: Employee-ID
instanceType: 4
isSingleValued: True
lDAPDisplayName: employeeID-example

Weil LDIFDE-Dateien das branchenübliche Standarddateiformat LDAP verwenden, geben Anwendungen von Drittanbietern, die das Active Directory- Schema ändern müssen, oft LDF-Dateien zurück, mit denen Sie die Änderungen prüfen und genehmigen können, bevor Sie sie in Ihre Produktionsumgebung einführen.

Neben den Tools für Massenimport- und -exportvorgänge umfasst Windows Server 2003 auch ein integriertes Toolset, mit dem Sie verschiedene Active Directory-Objekte erstellen, löschen und bearbeiten können. Es ermöglicht auch das Ausführen von Objektabfragen nach bestimmten Kriterien. (Diese Tools, dsadd, dsrm, dsget und dsquery, werden in Windows 2000 Active Directory nicht unterstützt.)

Dsadd

Mit dsadd können Sie eine Instanz einer Active Directory-Objektklasse in einer bestimmten Verzeichnispartition erstellen. Dies gilt für die Klassen Benutzer, Computer, Kontakte, Gruppen, Organisationseinheiten und Kontingente. Dsadd hat eine generische Syntax, die folgendermaßen aufgebaut ist:

dsadd <ObjectType> <ObjectDistinguishedName> attributes

Beachten Sie, dass, abhängig von den dafür verfügbaren Attributen, für jeden von Ihnen erstellten Objekttyp eine bestimmte Gruppe von Schaltern erforderlich ist. Dieser Befehl erstellt ein Benutzerobjekt mit verschiedenen Attributen (nachfolgender Befehl muss auf einer Zeile stehen).

dsadd user cn=afuller,ou=IT,dc=contoso,dc=com 
–samID afuller –fn Andrew –ln Fuller –pwd * 
-memberOf cn=IT,ou=Groups,dc=contoso,dc=com "cn=Help Desk,ou=Groups,
dc=contoso,dc=com" 
–desc "Marketing Director"

Der Schalter –memberOf benötigt den Distinguished Name (DN) jeder Gruppe, in die der Benutzer aufgenommen werden soll. Nehmen Sie den Benutzer in mehrere Gruppen auf, können Sie mehrere DNs, durch Leerzeichen getrennt, einfügen.

Enthält ein Element ein Leerzeichen, z. B. der DN der Gruppe „Forschung und Entwicklung“, muss dieses mit Anführungszeichen umgeben werden. Enthält ein Element einen umgekehrten Schrägstrich, wie z. B. die Organisationseinheit IT\EMEA, muss dieser zweimal eingegeben werden: IT\\EMEA. (Diese Regeln gelten für alle ds*-Tools.)

Wenn Sie den Schalter -pwd * verwenden, werden Sie aufgefordert, ein Kennwort für den Benutzer an der Befehlszeile einzugeben. Sie können das Kennwort innerhalb des Befehls selbst angeben (-pwd P@ssword1), das Kennwort wird aber dann als Klartext auf dem Bildschirm oder in einer Text- oder Skriptdatei angezeigt, in die Sie den Befehl eingebettet haben.

Sie können mit den folgenden beiden Befehlen auch ein Gruppenobjekt und eine Organisationseinheit erstellen:

dsadd computer cn=WKS1,ou=Workstations,dc=contoso,dc=com
dsadd ou "ou=Training OU,dc=contoso,dc=com"

Dsmod

Mit dsmod wird ein bestehendes Objekt geändert. Sie verwenden diesen Befehl wie den Befehl „dsadd“. In Abhängigkeit vom bearbeiteten Objekttyp kommen dabei verschiedene Untermenüs und Syntaxen zum Einsatz. Über folgenden dsmod-Befehl werden Kennwort und Konto eines Benutzers geändert, sodass er bei der nächsten Anmeldung aufgefordert wird, sein Kennwort zu ändern:

dsmod user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes

Die Ähnlichkeit dieser beiden Schalter wird Ihnen bewusst, wenn Sie sich die dsadd-Syntax ansehen, mit der Sie diesen Benutzer mit den gleichen Attributen erstellen können:

dsadd user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes

Genau die Schalter, mit denen Sie Objekte per dsadd erstellen, können Sie zum Bearbeiten von Benutzerdaten mit dsmod verwenden.

dsrm

Die Umkehrung von dsadd ist der Befehl „dsrm“. Man kann damit ein Objekt über die Befehlszeile löschen. Die grundlegende Syntax von dsrm ist ziemlich einfach: Geben Sie einfach „dsrm“ gefolgt vom Distinguished Name des Objekts, das Sie löschen möchten:

dsrm cn=WKS1,ou=Workstations,dc=contoso,dc=com

Standardmäßig werden Sie bei dsrm in einer Meldung gefragt, ob Sie das Objekt wirklich löschen möchten. Geben Sie „Y“ ein, und drücken Sie die Eingabetaste. Mit dem Schalter –noprompt können Sie diese Meldung unterdrücken, Sie haben dann aber keine Gelegenheit, zu prüfen, ob Sie das richtige Objekt zum Löschen ausgewählt haben. Zwei zusätzliche Schalter können hilfreich sein, wenn Sie ein Containerobjekt, d.h. eine Organisationseinheit löschen, die andere Objekte enthalten könnte. Der folgende Befehl löscht die Organisationseinheit „TrainingOU“ und alle darin enthaltenen Objekte:

dsrm ou=TrainingOU,dc=contoso,dc=com –subtree 

Der folgende Befehl löscht alle untergeordneten Objekte der Organisationseinheit, jedoch nicht diese selbst:

dsrm ou=TrainingOU,dc=contoso,dc=com –subtree 
    –exclude 

Dsmove

Um ein Objekt in Active Directory zu verschieben oder umzubenennen, verwenden Sie das Tool „dsmove“. Beachten Sie aber, dass Sie damit nur Objekte innerhalb einer Domäne verschieben können. Verwenden Sie das Active Directory-Migrationsprogramm (Active Directory Migration Tool, ADMT), um Objekte zwischen Domänen oder Gesamtstrukturen zu verschieben. Sie können es kostenlos von der Microsoft-Website herunterladen. Dsmove baut auf zwei Schaltern auf, die separat oder in Kombination verwendet werden können. Mit dem folgenden Befehl erhält das Konto von Steve Conn einen neuen Nachnamen:

dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" 
    –newname "Steve Conn" 

Der folgende Befehl verschiebt das Benutzerkonto von der IT-Organisationseinheit zur Schulungsorganisationseinheit:

dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newparent 
    ou=Training,dc=contoso,dc=com 

Durch gleichzeitiges Angeben beider Schalter können Sie Umbenennen und Verschieben in einem Vorgang ausführen:

dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newname 
    "Steve Conn" –newparent ou=Training,dc=contoso,dc=com

Dsget und dsquery

Das ds*-Befehlszeilentoolset umfasst auch zwei Tools, mit denen in Active Directory Informationen abgefragt werden können.

Dsget nimmt den DN eines Objekts als Eingabe und gibt den Wert eines oder mehrerer, von Ihnen angegebener Attribute zurück. Dsget verwendet die gleichen Untermenüs wie dsadd und dsmod: User, Computer, Contact, Group, OU und Quota.

Um das SAM-Konto und die Sicherheits-ID (SID) eines Benutzerkontos abzurufen, geben Sie den folgenden Befehl (auf einer Zeile) ein:

dsget user cn=afuller,ou=IT,dc=contoso,dc=com 
    –samAccountName –sid

Sie erhalten die in Abbildung 3 angezeigte Ausgabe.

Abbildung 3 Ausführen von dsget

Abbildung 3** Ausführen von dsget **(Klicken Sie zum Vergrößern auf das Bild)

Dsquery gibt eine Liste von Active Directory-Objekten zurück, die die von Ihnen festgelegten Kriterien erfüllen. Unabhängig vom verwendeten Untermenü können Sie die folgenden Parameter angeben:

dsquery <ObjectType> <StartNode> -s <Search Scope> -o <OutputFormat>

Für ObjectType kann dsquery die folgenden Untermenüs verwenden, von denen jedes seine eigene Syntax hat: Computer, Contact, Subnet, Group, OU, Site, Server, User, Quota und Partition. Das Untermenü „Server“ ruft Informationen über Domänencontroller, nicht aber über Mitgliedsserver in Ihrer Umgebung ab. Wenn einer dieser Abfragetypen nicht geeignet sein sollte, können Sie das *-Untermenü verwenden, mit dem Sie eine formfreie LDAP-Abfrage eingeben können.

StartNode bezeichnet den Ort in der Active Directory-Struktur, an dem die Suche beginnen soll. Sie können einen bestimmten DN, wie z. B. ou=IT,dc=contoso,dc=com, oder eine der folgenden Verknüpfungen verwenden: Die Verknüpfung „domainroot“ beginnt im Stammverzeichnis einer Domäne. Die Verknüpfung „forestroot“ beginnt im Stammverzeichnis der Gesamtstruktur-Stammdomäne und nutzt bei der Suche einen globalen Katalogserver.

Die Option „search scope“ legt fest, wie mit dsquery die Active Directory-Struktur durchsucht wird. Bei „subtree“ (Standardeinstellung) wird der angegebene StartNode sowie sämtliche diesem untergeordneten Objekte abgefragt, bei „onelevel“ nur die direkt untergeordneten Objekte des StartNode und bei „base“ nur das StartNode-Objekt selbst.

Um sich diese Suchbereiche besser vorstellen zu können, erwägen Sie eine Organisationseinheit, die sowohl Benutzerobjekte als auch eine untergeordnete Organisationseinheit mit weiteren Unterobjekten enthält. Der Suchbereich „subtree“ fragt die Organisationseinheit, deren Benutzerobjekte sowie die untergeordnete Organisationseinheit mit ihren Inhalten ab. Der Suchbereich „onelevel“ fragt nur die Benutzer der Organisationseinheit, nicht aber die untergeordnete Organisationseinheit und deren Objekte ab. Der Suchbereich „base“ durchsucht nur die Organisationseinheit selbst, ohne die darin enthaltenen Objekte.

Mit „output format“ können Sie steuern, wie die von dsquery ausgegebenen Ergebnisse formatiert werden. Standardmäßig gibt dsquery die Distinguished Names aller Objekte zurück, die die Abfragekriterien erfüllen:

"cn=afuller,ou=Training,dc=contoso,dc=com"
"cn=rking,ou=ITTraining,ou=Training,dc=contoso,dc=com"

Um alle Benutzerobjekte innerhalb der IT-Organisationseinheit und aller untergeordneten Organisationseinheiten abzufragen, gehen Sie folgendermaßen vor:

dsquery user ou=IT,dc=contoso,dc=com 

Mit zusätzlichen Schaltern können Sie diese Abfrage genauer festlegen: Mit -disabled werden nur deaktivierte Benutzerkonten, mit -inactive x nur Benutzer, die sich in den letzten Wochen nicht angemeldet haben, und mit -stalepwd x Benutzer, die ihr Kennwort in einer festgelegten Anzahl von Tagen nicht geändert haben, abgefragt.

In Abhängigkeit von der Anzahl der Objekte in Ihrem Verzeichnis müssen Sie möglicherweise für Ihre Abfrage noch den Schalter -limit x angeben. Standardmäßig gibt dsquery bis zu 100 Objekte zurück, die den Kriterien entsprechen. Sie können diese Zahl z. B. auf 500 erhöhen, oder mit dem Schalter -limit 0 alle gefundenen Objekte anzeigen lassen.

Sie können mit den anderen Untermenüs auch Abfragen für andere Objekttypen ausführen. Folgende Abfrage gibt z. B. jedes in Active Directory-Standorten und Active Directory-Diensten definierte Subnetz im Adressenbereich 10.1.x.x zurück:

dsquery subnet –name 10.1.*

Sie können aber auch jedes Subnetz am Unternehmensstandort suchen lassen:

dsquery subnet –site Corp

Und mit einem anderen Untermenü können Sie schnell bestimmen, wie viele Domänencontroller in Ihrer Gesamtstruktur als globale Katalogserver konfiguriert sind:

dsquery server –forest –isgc

Mit nachfolgender Syntax können Sie ermitteln, welche Domänencontroller in Ihrer Domäne die PDC-Emulator-FSMO-Rolle (primärer Domänencontroller, Flexible Single Master Operations) hostet:

dsquery server –hasfsmo pdc

Analog zu den anderen ds*-Befehlen mit Untermenüs können Sie alle innerhalb eines dsquery-Untermenüs verfügbaren Schalter anzeigen lassen. Geben Sie dazu an der Befehlszeile „dsquery user /?“, „dsquery computer /?“, „dsquery subnet /?“, und so weiter ein.

Ein guter Trick ist auch, die Ausgabe von dsquery mit dem Zeichen | in ein anderes Tool, wie dsmod, umzuleiten. Nehmen wir einmal an, dass eine Abteilung in Ihrem Unternehmen nicht mehr „Training“, sondern „Internal Development“ heißt. Sie müssen jetzt das Beschreibungsfeld aller davon betroffenen Benutzer auf den neuen Abteilungsnamen umstellen. In einer Befehlszeile können Sie die Abfrage nach allen Benutzern durchführen, deren Beschreibungsfeld den Begriff „Training“ enthält. Anschließend bearbeiten Sie dieses Feld mit einem Massenverfahren:

dsquery user –description "Training" | dsmod 
    -description "Internal Development"

Empfehlenswerte Tools von Drittanbietern

Da Active Directory auf LDAP-Standards basiert, können Sie hier mit jedem LDAP-kompatiblen Tool Abfragen und Bearbeitungen durchführen. Viele Drittanbieter haben gebührenpflichtige Tools zur Verwaltung von Active Directory veröffentlicht. Manchmal stößt man aber auch auf sehr gute Tools, die kostenlos erhältlich sind. Ein Beispiel dafür ist eine Toolsammlung von Joe Richards, Directory Services-MVP, die über folgende Adresse heruntergeladen werden kann: joeware.net/freetools. Sie finden dort verschiedene Tools für viele Einsatzmöglichkeiten. Drei Tools, die ich immer wieder benutze, sind adfind, admod und oldcmp.

Adfind und admod

Adfind und admod ähneln dsquery und dsmod. adfind ist ein Befehlszeilenabfragetool für Active Directory. Mit admod kann man ein oder mehrere Active Directory-Objekte erstellen, löschen und bearbeiten.

Im Vergleich zu den ds*-Tools mit ihren vom Objekttyp abhängigen Untermenüs und Schaltern, haben adfind und admod eine konsistente Syntax. Der Abfragetyp oder die Art der Bearbeitung spielen dabei keine Rolle. Die Basissyntax für adfind ist:

adfind –b <Search Base> -s <Search Scope> -f <Search Filter>
    attributesDesired

Eine Abfrage nach dem DN und einer Beschreibung aller Computerobjekte in Ihrer Domäne würde also folgendermaßen lauten:

adfind –b dc=contoso,dc=com –s subtree –f (objectclass=computer) dn 
    description

Eine Abfrage aller Benutzerobjekte würde so aussehen:

adfind –b dc=contoso,dc=com –s subtree –f "(&(objectcategory=person)
    (objectclass=user))" dn description

Beachten Sie, dass sich nur der Inhalt der LDAP-Abfrage, nicht aber die Syntax geändert hat.

Wenn Sie sich einmal mit adfind vertraut gemacht haben, werden Sie die vielen Kurzoperatoren zu schätzen wissen, die Ihnen eine Menge Tipparbeit ersparen. Der Schalter -default z. B. kann -b dc=contoso,dc=com im vorherigen Beispiel ersetzen und Ihre gesamte Domäne durchsuchen. Mit -gc werden eine GC-Abfrage (Garbage Collection) nach veralteten Objekten ausgeführt und alle Benutzer in Ihrer Active Directory-Gesamtstruktur zurückgegeben. Mit dem Schalter -rb legen Sie eine relative Basis für Ihre Suche fest. Wenn Sie die Organisationseinheit „Training“ in der Domäne „phl.east.us.contoso.com“ durchsuchen möchten, reicht die Eingabe von –default –rb ou=Training, anstelle von –b ou=Training, dc=phl,dc=east,dc=us,dc=contoso,dc=com.

Adfind kann auch mehrere erweiterte Suchfunktionen ausführen, die über die Befehlszeile schwierig zu verwalten wären. Dazu gehören auch die in Abbildung 4 aufgeführten Funktionen.

Figure 4 Adfind-Schalter

Schalter Beschreibung
-showdel Fragt den Container der gelöschten Objekte nach Tombstones ab.
-bit Fragt bitweise Operatoren, wie das user­AccountControl-Attribut ab.
-asq Führt eine Abfrage auf Attributebene durch. Diese Funktion (die nicht in dsquery repliziert werden kann) kann ein Attribut eines bestimmten Objekts abrufen und daran eine Abfrage durchführen.
-dsq Leitet die Ausgabe einer adfind-Abfrage nach dsmod oder eines der anderen ds*-Tools weiter.
   

Ein Beispiel für den Einsatz des Schalters -asq wäre die Auflistung der Gruppenmitgliedschaften der Helpdesk-Mitglieder:

adfind –default –rb cn=HelpDesk,ou=IT –asq member memberOf 

Admod wird zur Bearbeitung von Objekten in Active Directory verwendet. Wie bei adfind gibt es keine speziellen Untermenüs mit eigener Syntax, die man kennen muss. Admod verwendet, unabhängig vom Objekttyp, immer die gleiche Syntax. Durch Hinzufügen des jeweiligen Schalters, wie -add, -rm, -move, -undel, können Sie mit admod Objekte hinzufügen, verschieben, umbenennen, löschen und sogar deren Löschung rückgängig machen. Und wie mit dsquery und dsmod können Sie auch das Zeichen | verwenden, um die Ergebnisse einer adfind-Abfrage nach admod umzuleiten.

Beim Rückgängigmachen einer Löschung mit admod wird lediglich ein Tombstone wiederbelebt, bei dem die meisten Objektattribute entfernt wurden. Um ein Objekt vollständig und mit all seinen Attributen wiederherzustellen, müssen Sie immer noch eine autorisierende Wiederherstellung durchführen.

Oldcmp

Ein weiteres joeware-Tool darf in meinem Automatisierungstoolkit nicht fehlen: Oldcmp durchsucht die Active Directory-Datenbank nach Computerkonten, auf die innerhalb einer festgelegten Anzahl von Wochen nicht zugegriffen wurde. Das Tool kann für folgende Aufgaben eingesetzt werden:

  • Erstellen eines Berichts von Konten, ohne Ergreifung von Maßnahmen
  • Deaktivieren unbenutzter Computerkonten
  • Verschieben der Computerkonten in eine festgelegte Organisationseinheit
  • Sofortiges Löschen der Computerkonten

Da oldcmp in Ihrem Verzeichnis ernsthaften Schaden anrichten kann, wurden etliche Sicherheitsfunktionen darin integriert. Es werden keine Konten gelöscht, die nicht bereits deaktiviert wurden (zudem muss der Löschvorgang manuell in der Befehlszeile bestätigt werden). Es werden ohne Bestätigungsschalter maximal 10 Objekte gleichzeitig verändert. Computerkonten für Domänencontroller bleiben grundsätzlich von Veränderungen unberührt.

Dieses Tool wurde mittlerweile aktualisiert, sodass es jetzt ähnliche Funktionen an Benutzerkonten ausführen kann, die in einem festgelegten Zeitraum nicht benutzt wurden.

In einer überschaubaren Active Directory-Umgebung oder einer Umgebung, in der Sie immer nur ein oder zwei Neuaufnahmen oder Änderungen gleichzeitig durchführen, reichen möglicherweise GUI-Tools, wie Active Directory-Benutzer und -Computer für die täglichen Arbeiten aus. Wenn Sie aber jeden Tag eine große Anzahl von Objekten aufnehmen und bearbeiten oder aber eine optimierte Lösung für Ihre administrativen Aufgaben benötigen, kann das Arbeiten in der Befehlszeile das Erstellen, Bearbeiten und Löschen von Active Directory-Objekten erheblich beschleunigen. Wie Sie sehen, gib es eine Reihe flexibler und leistungsstarker, kostenloser Tools, die in Windows integriert sind und von Mitgliedern der Active Directory-Community heruntergeladen werden können. Ein jedes dieser Tools kann Ihre Produktivität als Administrator enorm steigern, und alle zusammen werden sie noch unverzichtbarer für Ihren Arbeitsalltag sein.

Laura E. Hunter wurde vier Mal mit dem Microsoft MVP Award im Bereich von Windows Server Networking ausgezeichnet. Sie ist Autorin von „Active Directory Cookbook“ (Second Edition, O'Reilly, 2006). Laura, die über 10 Jahre IT-Erfahrung vorweisen kann, arbeitet derzeit als Active Directory-Architektin für ein global tätiges Ingenieurbüro. Sie ist Inhaberin mehrerer Branchenzertifizierungen und hält häufig bei Benutzerversammlungen und Branchenkonferenzen Vorträge.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.