Snapshots vom Active Directory erstellen, mounten und analysieren

    Active-Directory-Snapshots ThumbnailDie Möglichkeit, vom Active Directory Snapshots anzufertigen, gibt es neu seit Windows Server 2008. Analog zu einem Snapshot vom Dateisystem wird damit eine Kopie der AD-Datenbank mit allen Objekten erstellt. Damit kann man etwa alte AD-Datenbankstände einsehen und den Status von Objekten und deren Attributen über die Zeit nachverfolgen, also Vorher-Nachher-Vergleiche anstellen. Nicht möglich ist es, den kompletten AD-Stand aus einem Snapshot zu rekonstruieren.

    AD-Snapshots werden etwa im Laufe einer Windows-Serversicherung automatisch angefertigt, sofern man sie nicht explizit ausgeschlossen hat, können aber auch jederzeit manuell angefertigt werden.

    Snapshots manuell erstellen und Snapshots auflisten

    Mit ntdsutil.exe erstellt man AD-Snapshots und kann sich eine Übersicht verschaffen, welche bereits vorhanden sindEinen Snapshot kann man mit dem Kommandozeilentool ntdsutil.exe manuell erstellen. Dazu ruft man es innerhalb einer Eingabeaufforderung mir Administratorrechten auf und gibt folgende Befehle ein:

    activate instance ntds
    snapshot
    create

    Beendet wird das Tool durch die zweimalige Eingabe von quit. Diese Befehle können auch aus einer Zeile als Argument an ntdsutil.exe übergeben werden, etwa um den Snapshot per Aufgabenplaner zu automatisieren:

    ntdsutil "activate instance ntds" snapshot create quit quit

    Gibt man im Kontext „Snapshot“ den Befehl list all statt create ein, erhält man eine Auflistung aller angefertigten Snapshots.

    Snapshots mounten, Objekte ansehen und vergleichen

    Snapshots mounten: Zuerst bindet man die Snapshot-Datenbank ins Dateisystem einBeim Auflisten der Snapshots sind diese jeweils mit einer Nummer versehen. Active-Directory-Snapshots verbergen sich jeweils hinter denen, die den Buchstaben des Systemlaufwerks vor ihrer UID haben.

    mount ‹Nummer›

    hängt man einen Snapshot ins Dateisystem ein. ntdsutil.exe gibt zurück, unter welchem Ordner dies geschieht. Hierhin navigiert man im Explorer und öffnet im Bereitstellungspunkt den Ordner %SystemRoot%\NTDS. Mit gedrückter ‹Shift-Taste› ruft man per rechter Maustaste das erweiterte Kontextmenü der Datei ntds.dit auf, klickt auf den Menüpunkt „Als Pfad kopieren“ bekommt dadurch den Pfad- und Dateinamen der Snapshot-Datenbankdatei in die Zwischenablage.

    Diesen verwendet man in einer zweiter Eingabeaufforderung: In dieser stellt man die Snapshot-Datenbankdatei per LDAP auf einem alternativen Port zur Verfügung:

    dsamain -dbpath "‹\Pfad\zur\›ntds.dit" –ldapport 10389

    Dann startet man eine LDAP-Instanz für den ins Dateisystem eingebundenen Snapshotweiter. Als LDAP-Port taugt auch ein beliebiger anderer unbenutzter Port. dsamain.exe startet eine separate Instanz der Active-Directory-Domänendienste auf dem angegebenen Port und informiert darüber, wenn es damit fertig ist. Der Vorgang dauert ein paar Sekunden.

    Mit den AD-Verwaltungstools kann man sich dann zu dieser LDAP-Instanz verbindenNun kann man die Snapshot-Datenbank mit den üblichen AD-Verwaltungstools bearbeiten, etwa dem MMC-Snap-In „Active-Directory-Benutzer und -Computer“. Hier klickt man mit der rechten Maustaste auf die Domäne und wählt aus dem Kontextmenü den Punkt „Domänencontroller ändern“. Hier wählt man die Option, sich mit einem bestimmten Controller oder AD-LDS-Instanz zu verbinden und gibt den eigenen DC an, gefolgt von einem Doppelpunkt und dem oben angegebenen LDAP-Port. Verwendet man AD-Snapshots öfter, bietet es sich an, für diese Verbindung extra eine Management-Console zu erstellen und diese zu speichern. Diese kann man dann etwa parallel zur Console für das aktuelle AD verwenden, um Objekte und Attribute zu vergleichen. Die Snapshot-Datenbank kann nicht geschrieben werden, entsprechend sind alle GUI-Elemente zur Bearbeitung deaktiviert. Dies bietet auch gleich eine gute visuelle Hilfe.

    Alternativ können auch der ADSI-Editor adsieedit.msc oder ldp.exe verwendet werden; sie bieten beide jeweils die Möglichkeit, sich mit benutzerdefinierten LDAP-Instanzen zu verbinden.

    Snapshots unmounten, Snapshots löschen

    Die für einen gemounteten Snapshot gestartete LDAP-Instanz beendet man, indem man das laufende dsamain.exe per ‹Ctrl›-‹C› abbricht. Die Service-Instanz wird daraufhin heruntergefahren und eine entsprechende Meldung angezeigt.

    Die Aufhebung der Bereitstellung des Snapshots im Dateisystem geschieht in ntdsutil.exe, indem man im „Snapshot“-Kontext den Befehl

    unmount ‹Nummer›

    absetzt. Die gegenwärtig eingebundenen erfährt man per

    list mounted

    Löschen kann man einen Snapshot per

    delete ‹Nummer›

    im „Snapshot“-Kontext. Beide Befehle funktionieren analog zu den anderen auch auf einer Zeile der Eingabeaufforderung:

    ntdsutil "activate instance ntds" snapshot "unmount ‹Nummer›" quit quit

    respektive

    ntdsutil "activate instance ntds" snapshot "delete ‹Nummer›" quit quit

    Keine Kommentare