Mobile-Menu

Einzelne Objekte und komplettes AD sichern und wiederherstellen Backup und Recovery für Active Directory in der Praxis

Von Thomas Joos

Die Sicherung und Wiederherstellung von einzelnen Objekten in Active Directory ist eine von Administratoren häufig durchgeführte Aufgabe. Aber auch die komplette Sicherung der AD-Datenbank ist relevant. Wir zeigen in diesem Beitrag, wie Sicherung und Wiederherstellung erfolgen.

Anbieter zum Thema

Der Active-Directory-Papierkorb ist eines der rudimentären Bordmittel, das für eine gezielte Wiederherstellung von Objekten zum Einsatz kommen kann.
Der Active-Directory-Papierkorb ist eines der rudimentären Bordmittel, das für eine gezielte Wiederherstellung von Objekten zum Einsatz kommen kann.
(Bild: Joos / Microsoft)

Die meisten Sicherungsprogramme sind auch dazu in der Lage, die Active Directory-Datenbank auf Domänencontrollern zu sichern. In den meisten Fällen führt der beste Weg hierzu über die komplette Sicherung des Betriebssystems und des Systemstatus. Durch diese Auswahl kann auch das in Windows Server integrierte Sicherungsprogramm den kompletten Server inklusive AD sichern und wiederherstellen.

Active Directory mit Bordmitteln sichern

Wenn die Sicherung von Active Directory mit dem internen Sicherungs-Tool von Windows Servern durchgeführt wird, ist es ein generell auch denkbar, diesen Vorgang zu skripten. Dadurch lässt sich die Sicherung auch im Netzwerk speichern und durch eine Drittherstellersoftware parallel sichern. Der Befehl dazu lautet:

wbadmin start backup -allCritical -backuptarget:<Zielfestplatte> -quiet

Durch den Parameter "-quiet" muss die Eingabe nicht bestätigt werden, sondern die Sicherung beginnt sofort. Der Befehl sichert auch den Systemstatus und die Systemfestplatte, sodass jederzeit mit Bordmitteln eine Wiederherstellung von Active Directory möglich ist.

Um eine Wiederherstellung mit der internen Datensicherung durchzuführen, kann in den Bootoptionen "Verzeichnisdienstwiederherstellung" ausgewählt werden. Alternativ kann die Wiederherstellung des kompletten Betriebssystems über die Computerreparaturoptionen erfolgen. Der Start in den Wiederherstellungsmodus lässt sich aber auch im laufenden Betrieb in der Befehlszeile festlegen:

bcdedit /set safeboot dsrepair

Nach der Wiederherstellung kann der Server wieder normal starten, wenn mit dem folgenden Befehl die entsprechende Option gesetzt wird:

bcdedit /deletevalue safeboot

Active Directory-Datenbank warten

Vor der Sicherung und generell auch in regelmäßigen Abständen kann es sinnvoll sein, die Datenbank von Active Directory zu warten. Dadurch entfernt Windows Inkonsistenzen aus der Datenbank und verkleinert auch deren Größe. Zudem ist es möglich, die Datenbank von Active Directory zu defragmentieren. Um eine Offline-Defragmentierung durchzuführen, geht man folgendermaßen vor:

  • Starten Sie den Server im Verzeichnisdienst-Wiederherstellungsmodus.
  • Öffnen Sie eine Eingabeaufforderung und starten Sie "Ntdsutil".
  • Geben Sie den Befehl "activate instance ntds" ein.
  • Geben Sie den Befehl "files" ein, um zur "file maintenance" zu gelangen.
  • Geben Sie den Befehl "compact to <Laufwerk:\Ordner>" ein. Wählen Sie als Verzeichnis einen beliebigen Ordner auf der Festplatte aus. Ntdsutil kopiert die Datenbankdatei in diesen Ordner und defragmentiert sie.
  • Sichern Sie die alte Version der "ntds.dit" aus dem produktiven Datenbankordner.
  • Wenn keine Fehlermeldungen während der Offline-Defragmentierung erscheinen, können Sie die Datei "ntds.dit" aus dem Ordner zurück in den Datenbankpfad der produktiven Datenbank kopieren. Diesen Vorgang führt Ntdsutil nicht automatisch aus. Sie müssen die Datei also manuell kopieren. Verschieben Sie die defragmentierte Datei in den produktiven Ordner der Datenbank und überschreiben Sie die alte Version.
  • Geben Sie in "file maintenance" den Befehl "integrity" ein, um die Integrität der Datenbank zu überprüfen.

Da Active Directory als Systemdienst läuft, kann dieser für die Defragmentierung auch beendet werden. Das geht zum Beispiel in der Befehlszeile mit "net stop ntds". Nach Beendigung der Maßnahmen muss aber auch darauf geachtet werden, dass die einzelnen Dienste, die durch das Beenden von Active Directory ebenfalls beendet werden, im Anschluss auch wieder gestartet werden.

In diesem Fall muss der Server nicht im Verzeichnisdienst-Wiederherstellungsmodus gestartet werden, sodass andere Dienste auf dem Server weiter von den Anwendern verwendet werden können. Sollte es im Rahmen der Integritätsprüfung zu Problemen mit der AD-Datenbank kommen, können Sie deren Zustand testen und direkt an dieser Stelle eine Reparatur starten:

  • Verlassen Sie mit "quit" die "file maintenance", aber bleiben Sie in der Oberfläche von Ntdsutil.
  • Geben Sie "semantic database analysis" ein.
  • Geben Sie "verbose on" ein, damit Sie detaillierte Informationen erhalten.
  • Geben Sie "go fixup" ein.

Das Tool beginnt mit der Diagnose der Active-Directory-Datenbank und versucht die Datenbank zu reparieren.

Erstellen von Snapshots der Active Directory-Datenbank

In allen aktuellen Windows Server-Versionen bis hin zu Windows Server 2022 ist es möglich, einen Snapshot der Active-Directory-Datenbank zu erstellen. Der Snapshot wird als Schattenkopie der Datenbank erstellt. Ein Weg hierzu ist folgender:

  • Starten Sie Ntdsutil.
  • Geben Sie "snapshot" ein.
  • Geben Sie "activate instance ntds" ein.
  • Geben Sie "create" ein.

Der Active-Directory-Papierkorb im Praxiseinsatz

Mit dem Papierkorb in Active Directory können Sie gelöschte Objekte inklusive deren SID noch einige Zeit wiederherstellen. Damit das funktioniert, muss diese Funktion aber erst aktiviert werden. Die Verwaltung und auch die Verwendung des AD-Papierkorbs können Sie im Active-Directory-Verwaltungscenter erreichen. Dieses startet am schnellsten durch die Eingabe von "dsac" im Suchfeld des Startmenüs. Standardmäßig ist der Papierkorb nicht aktiv. Nach der Aktivierung lässt er sich aber auch nicht mehr deaktivieren.

Über das Kontextmenü der Gesamtstruktur auf der linken Seite der Konsole im Active-Directory-Verwaltungscenter lässt sich der Papierkorb aktivieren. Sie können den Papierkorb auch in der PowerShell aktivieren. Der Befehl dazu am Beispiel der Domäne "joos.lab" lautet:

Enable-ADOptionalFeature -Identity "CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=joos,DC=lab" -Scope ForestOrConfigurationSet -Target "joos.lab"

Nach dem Neustart des Active-Directory-Verwaltungscenters steht in der Ansicht der Organisationseinheiten die neue Organisationseinheit "Deleted Objects" zur Verfügung. Aus dieser OU heraus können gelöschte Objekte wiederhergestellt werden. Dazu wird das entsprechende Objekt mit der rechten Maustaste wiederhergestellt.

Der Papierkorb arbeitet mit dem Wert "isDeleted" und dem Wert "isRecycled" für Objekte in AD. Ist der Wert "isRecycled" für ein Active-Directory-Objekt auf "True" gesetzt, können Sie dieses nicht wiederherstellen. Nur Objekte, bei denen "isDeleted" auf "True" gesetzt ist, lassen sich wiederherstellen.

Objekte lassen sich innerhalb der Tombstone-Lifetime wiederherstellen. Diese beträgt bei Windows Server 180 Tage. Der jeweilige Wert für die Active-Directory-Gesamtstruktur ist in ADSI-Edit über den Container "Konfiguration/Configuration/Services/Windows NT/Directory Service" zu finden. In den Eigenschaften von "Directory Service" ist der Tombstone-Wert auf der Registerkarte "Attribut-Editor" bei "tombstoneLifetime" zu finden. Generell kann der Wert an dieser Stelle auch angepasst werden.

Sobald ein Objekt in Active Directory gelöscht wird, erhält dieses den Wert "True" bei "isDeleted. Nach 180 Tagen erhält das Objekt den Wert "True" bei "isRecycled" und ist nicht mehr wiederherstellbar. Ist die Tombstone-Lifetime abgelaufen, wird das Objekt aus der Datenbank gelöscht.

Wiederherstellungsvorgänge lassen sich auch in der PowerShell durchführen, zum Beispiel mit:

Get-ADObject -Filter {displayName -eq "Thomas Joos"} -IncludeDeletedObjects | Restore-ADObject

Lösch-Schutz in Active Directory aktivieren

Um versehentliches Löschen zu verhindern, kann es sinnvoll sein, für wichtige Objekte den Lösch-Schutz zu aktivieren. In diesem Fall kann das Objekt erst gelöscht werden, wenn ein Administrator den Lösch-Schutz von dem betroffenen Objekt entfernt. Die Konfiguration dazu kann über die Konsole Active-Directory-Computer und -Benutzer erfolgen. Diese startet zum Beispiel mit "dsa.msc". In der Konsole kann über den Menüpunkt „Ansicht“ die Option „Erweiterte Features“ aktiviert werden. Dies ist für die Aktivierung des Löschschutzes wichtig.

Um Objekte davor zu schützen, dass sie versehentlich gelöscht werden, kann die Option „Objekt vor zufälligem Löschen schützen“ auf der Registerkarte „Objekt“ aktiviert werden. Dadurch wird verhindert, dass ein Objekt löschbar ist. Erst durch das Entfernen dieses Hakens kann das jeweilige Objekt wieder gelöscht werden.

Neben der Verwaltungskonsole Active-Directory-Benutzer und -Computer lassen sich Objekte auch in anderen Konsolen sichern. So können zum Beispiel auch die Objekte in "Active-Directory-Standorte und Dienste" vor dem versehentlichen Löschen geschützt werden. Auch hier gibt es eine Registerkarte „Objekte“ und die Option „Objekt vor dem versehentlichen Löschen schützen“. Für die Anzeige der Option muss die erweiterte Ansicht aber nicht aktiviert werden. Um den Löschschutz in der PowerShell abzufragen oder zu aktivieren, können die folgenden Befehle genutzt werden:

Get-ADObject ‹DN des Objekts› -Properties ProtectedFromAccidentalDeletion

Aktivieren lässt sich der Löschschutz mit:

Set-ADObject ‹DN des Objekts› -ProtectedFromAccidentalDeletion $true
Active Directory im Fokus
Bildergalerie mit 55 Bildern

(ID:48134807)