AD-Objekte wiederherstellen

Windows Server 2012/2012 R2: Papierkorb fürs Active Directory nutzen

25.08.2014 von Thomas Joos
Mit Windows Server 2008 R2 hat Microsoft den Papierkorb fürs Active Directory eingeführt. Der ausschließliche Zugang per PowerShell war nicht jedermanns Sache. Windows Server 2012/2012 R2 bringt eine deutlich verbesserte und überarbeitete Version des Papierkorbs für den Verzeichnisdienst mit.

Im Active Directory gelöschte Objekte sind im Papierkorb eine Zeit lang wiederherstellbar. Unter Windows Server 2008 R2 können Admins den Papierkorb allerdings nur in der PowerShell aktivieren und auch lediglich in der PowerShell verwenden, um Objekte wiederherzustellen. Das kann kompliziert sein und Systemverwaltern schon mal die Lust nehmen, diese Funktion zu nutzen.

In Windows Server 2012/2012 R2 hat Microsoft den Active-Directory-Papierkorb deutlich verbessert. Den Papierkorb für gelöschte Objekte verwalten Sie in Windows Server 2012/2012 R2 nicht mehr nur in der PowerShell oder Befehlszeile, sondern Sie können die Aktivierung und die Wiederherstellung von Objekten vollständig im Active-Directory-Verwaltungscenter vornehmen. Natürlich besteht weiterhin die Möglichkeit, auf die PowerShell zu setzen, doch der Weg über das Active-Directory-Verwaltungscenter ist wesentlich bequemer und schneller. Wir zeigen Ihnen in diesem Beitrag auch zwei Tools, mit denen Sie Benutzerdaten in Active Directory schnell und einfach wiederherstellen können.

Active-Directory-Papierkorb aktivieren

Grundlage für nachfolgende Beschreibungen ist der Papierkorb von Active Directory (AD), den Sie zunächst für die Gesamtstruktur aktivieren müssen.

Initialzündung: Zunächst ist der Papierkorb zu aktivieren.

Wie bei Windows Server 2008 R2 gilt dieser Vorgang für alle Domänen in der Gesamtstruktur. Achtung: Er lässt sich nicht rückgängig machen und hat direkte Auswirkung auf alle Domänen in der Gesamtstruktur. Sie nehmen den Weg über das Kontextmenü der Gesamtstruktur auf der linken Seite der Konsole im Active-Directory-Verwaltungscenter, indem Sie die Funktion Papierkorb aktivieren im Kontextmenü des Papierkorbs auswählen.

Sie können den Papierkorb auch weiterhin in der PowerShell aktivieren. Der Befehl dazu lautet im Beispiel der Domäne contoso.com:

Enable-ADOptionalFeature -Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=contoso,DC=com' -Scope ForestOrConfigurationSet -Target 'contoso.com'

Starten Sie nach der Aktivierung des AD-Papierkorbs das Active-Directory-Verwaltungscenter neu. Erst dann stehen alle Funktionen zur Verfügung, um gelöschte Objekte wiederherzustellen, zum Beispiel der neue Ordner Deleted Objects, in dem das Active Directory alle gelöschten Objekte sammelt.

Active-Directory-Papierkorb und Funktionsebenen

Sie können den Papierkorb nur dann aktivieren, wenn die Funktionsebene der Gesamtstruktur mindestens auf Windows Server 2008 R2 gesetzt ist. Die Funktionsebene für die Domänen im Snap-In Active Directory-Benutzer und -Computer stellen Sie über das Kontextmenü der Domäne ein. Die Funktionsebene für die Gesamtstruktur konfigurieren Sie über das Snap-In Active Directory-Domänen und -Vertrauensstellungen, ebenso über das Kontextmenü. Wird die Funktionsebene abgeändert, lässt sich dies nicht rückgängig machen. Ausnahme ist die mögliche Herabstufung von Windows Server 2012/2012 R2 auf Windows Server 2008 R2. Das geht allerdings nur dann, wenn Sie den Active-Directory-Papierkorb noch nicht aktiviert haben.

Wiederherstellen können Sie Objekte im Active-Directory-Verwaltungscenter von Windows Server 2012/2012 R2, wenn Sie den Papierkorb aktiviert haben. Ist der Vorgang nicht bereits durchgeführt, können Sie das über die PowerShell mit dem Befehl

Set-ADForestMode -Identity contoso.com -ForestMode Windows2008R2Forest -Confirm:$false

erreichen.

Attribute des Active-Directory-Papierkorbs

Der Papierkorb arbeitet mit dem Wert isDeleted und mit dem neuen Wert isRecycled. Ist der Wert isRecycled für ein AD-Objekt auf True gesetzt, können Sie dieses nicht wiederherstellen; das funktioniert nur bei Objekten, bei denen isDeleted auf True gesetzt ist.

Verbindungsaufnahme: Öffnen Sie ADSI-Edit und verbinden Sie sich mit der Domäne.

Objekte lassen sich innerhalb der Tombstone-Lifetime (Alterungsgültigkeitsdauer) wiederherstellen. Diese beträgt bei Windows Server 2012/R2 180 Tage. Sie finden den jeweiligen Wert für Ihr Active Directory am besten in ADSI-Edit über den Container Konfiguration. Dazu öffnen Sie ADSI-Edit über den Startbildschirm und verbinden sich über das Kontextmenü von ADSI-Editor mit der Domäne. Wählen Sie bei Bekannten Namenskontext auswählen die Option Konfiguration aus.

Navigieren Sie zu Konfiguration/Configuration/Services/Windows NT/Directory Service. Rufen Sie die Eigenschaften von Directory Service auf. Den Tombstone-Wert finden Sie auf der Registerkarte Attribut-Editor bei tombstoneLifetime. Sie können den Wert an dieser Stelle auch anpassen, das ist allerdings in den wenigsten Fällen notwendig.

Ablaufdatum: Sie können sich die Tombstone-Lifetime für die Gesamtstruktur anzeigen lassen.

Sobald Sie ein Objekt im Active Directory löschen, erhält dieses den Wert True bei isDeleted und ist im Active Directory nicht mehr verfügbar, lässt sich aber noch wiederherstellen. Den Zeitraum, innerhalb dessen Sie das Objekt durch isDeleted wiederherstellen können, bezeichnet Microsoft als Deleted Object Lifetime (DOL). Diesen Wert, der ebenfalls 180 Tage beträgt, finden Sie über msDS-deletedObjectLifetime. Nach 180 Tagen, festgelegt durch den DOL, erhält das Objekt den Wert True bei isRecycled und ist nicht mehr wiederherstellbar. Ist auch der Tombstone-Lifetime abgelaufen, wird das Objekt komplett aus der Datenbank gelöscht. Da beide Werte identisch sind, verschwindet das Objekt nach 180 Tagen automatisch.

Objekte aus dem AD-Papierkorb mit Bordmitteln wiederherstellen

Um gelöschte Objekte wiederherzustellen, verwenden Sie am besten das Active Directory Administration Center in Windows Server 2012/2012 R2.

Übersichtlich: Objekte aus dem Active-Directory-Papierkorb wiederherzustellen ist unter Windows Server 2012/2012 R2 deutlich leichter geworden.

Das hat den Vorteil, dass Ihnen eine grafische Oberfläche zur Verfügung steht. Nachdem Sie den Papierkorb aktiviert und das Active-Directory-Verwaltungscenter neu gestartet haben, gibt es für die entsprechende Gesamtstruktur einen neuen Ordner Deleted Objects. In ihm können Sie nach gelöschten Objekten suchen und diese wiederherstellen. Dazu klicken Sie die Objekte mit der rechten Maustaste an.

Ein gelöschtes Domänencontroller-Konto können Sie ebenfalls mit dem Active-Directory-Verwaltungscenter und dem AD-Papierkorb wiederherstellen. Damit das funktioniert, müssen Sie den AD-Papierkorb aber erst aktivieren.

Daten in der PowerShell wiederherstellen

Sie können die Wiederherstellung natürlich weiterhin auch in der PowerShell durchführen. Dazu verwenden Sie den Befehl

Get-ADObject -Filter {<Name des Objekts>} -IncludeDeletedObjects | Restore-ADObject

Wenn Sie zum Beispiel das Benutzerkonto mit dem Anzeigenamen Thomas Joos wiederherstellen wollen, geben Sie

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

ein.

Wollen Sie ein untergeordnetes Objekt wiederherstellen, müssen Sie erst alle übergeordneten Objekte herstellen, wenn diese ebenfalls gelöscht wurden. Ansonsten bricht die Wiederherstellung untergeordneter Objekte mit einer Fehlermeldung ab. Mit dem Befehl

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

lassen Sie sich gelöschte Objekte mit dem passenden Namen erst einmal anzeigen.

Haben Sie zum Beispiel eine Organisationseinheit OU mit Benutzerkonten gelöscht, müssen Sie erst die OU und dann die einzelnen Benutzerkonten wiederherstellen. Mit Get-ADObject zeigen Sie die Objekte an und übergeben diese mit Pipeline (|) an das Cmdlet Restore-ADObject. Kennen Sie die ursprüngliche Hierarchie der Organisationseinheit nicht, müssen Sie mit dem Cmdlet Get-ADObject diese erst wieder herausfiltern:

Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" -ldapFilter:"(msDs-lastKnownRDN=Thomas Joos)" -IncludeDeletedObjects -Properties lastKnownParent

Dieser Befehl gibt auch übergeordnete Objekte des gelöschten Objektes an. Mit

Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" -Filter {lastKnownParent -eq 'OU=Einkauf\\0ADEL:26e19d03-80db-4c9c-b7dd-e472193222e0,CN=Deleted Objects,DC=contoso,DC=com'} -IncludeDeletedObjects -Properties lastKnownParent | ft

lassen Sie sich alle untergeordneten Objekte in der besagten OU anzeigen.

Den Namen übernehmen Sie aus der vorangegangenen Verwendung von

Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" -ldapFilter:"(msDs-lastKnownRDN=Thomas Joos)" -IncludeDeletedObjects -Properties lastKnownParent.

Übergeordnete und untergeordnete Objekte

Bei Verwendung im Cmdlet Get-ADObject müssen Sie einen weiteren umgekehrten Schrägstrich im Namen setzen, also beispielsweise erst die Organisationseinheit Einkauf wiederherstellen, bevor das untergeordnete Objekt Thomas Joos an der Reihe ist.

Da alle bisherigen Untersuchungen mit dem lastKnownParent-Attribut durchgeführt wurden, das auf das direkt übergeordnete Objekt verweist, aber nicht angibt, ob das nächste übergeordnete Objekt ebenfalls gelöscht wurde, müssen Sie mit dem Wert lastKnownParent überprüfen, ob Einkauf nicht noch einer weiteren Organisationseinheit untergeordnet ist, die ebenfalls gelöscht wurde:

Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" -ldapFilter:"(msDs-lastKnownRDN=Einkauf)" -IncludeDeletedObjects -Properties lastKnownParent

Im Beispiel sehen Sie, dass die OU Einkauf direkt in der Domäne contoso.com angelegt ist, also keine weitere Organisationseinheit gelöscht wurde. Es reicht folglich, wenn Sie die OU Einkauf wiederherstellen, um das Objekt Thomas Joos wiederherzustellen:

Get-ADObject -ldapFilter:"(msDS-LastKnownRDN=Einkauf)" -IncludeDeletedObjects | Restore-ADObject

Der Befehl gibt eine Ausgabe an. Öffnen Sie das Snap-In Active Directory-Benutzer und -Computer und aktualisieren die Ansicht mit F5. Die OU muss jetzt wieder vorhanden sein.

Der Befehl stellt allerdings nur die OU, nicht die gelöschten Objekte innerhalb der OU wieder her. Diese müssen Sie manuell herstellen, zum Beispiel mit:

Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" -Filter {lastKnownParent -eq "OU=Einkauf,DC=contoso,DC=com"} -IncludeDeletedObjects | Restore-ADObject

Die Lebensdauer des gelöschten Objekts wird vom Wert des msDS-deletedObjectLifetime-Attributs bestimmt, die eines veralteten Objekts vom Wert des tombstoneLifetime-Attributs. Standardmäßig sind diese Attribute auf null festgelegt. Das bedeutet: Die Lebensdauer des veralteten Objekts beträgt 180 Tage.

Sie können die Werte von msDS-deletedObjectLifetime und tombstoneLifetime jederzeit ändern. Innerhalb der Lebensdauer des gelöschten Objekts lässt sich ein gelöschtes Objekt wiederherstellen. In der AD-Datenbank wird beim Löschen eines Objektes das Attribut isDeleted auf den Wert True gesetzt. Das gelöschte Objekt wird in den versteckten Container Deleted Objects verschoben, und sein Distinguished Name (DN) erhält dadurch einen neuen Wert.

Die Deleted Object Lifetime wird durch den Wert im Attribut msDS-DeletedObjectLifetime bestimmt. Ist die Zeit des im Attribut msDS-DeletedObjectLifetime definierten Werts abgelaufen, wandelt sich das logisch gelöschte Objekt zum recycled Objekt.

Objekte aus Active Directory in Windows Server 2008 R2 wiederherstellen - AdRestore

Die Wiederherstellung mit Bordmitteln kann in Windows Server 2008 R2 aufwendig und zeitintensiv sein. Vor allem ungeübte Administratoren sind mit solchen Vorgängen schnell mehrere Stunden oder einen ganzen Tag beschäftigt. Für derlei Fälle gibt es das Tool AdRestore von Sysinternals; mit ihm lassen sich gelöschte Objekte ohne den Einsatz der Active-Directory-Werkzeuge wiederherstellen. In Windows Server 2012/2012 R2 sollten Sie dieses Tool möglichst nicht verwenden, sondern besser den Active-Directory-Papierkorb.

Hilfreiches Tool: Mittels AdRestore können Sie auch Objekte aus dem Active Directory wiederherstellen.

AdRestore reanimiert nur den Tombstone selbst, stellt aber keine weiteren Daten wieder her. Die Tombstone-Lifetime (Alterungsgültigkeitsdauer) definiert, in welchem Zeitraum ein Active-Directory-Objekt wiederhergestellt werden kann, nachdem es gelöscht wurde. Bei installiertem Service Pack 1 (SP1, unter Windows Server 2003) bewahrt Active Directory gelöschte Objekte für 180 Tage in einer temporären Datenbank auf. Nach Ablauf dieser Zeit ist die Datensicherung nutzlos, da sie ohnehin nicht mehr zurückgespielt werden kann. Das Objekt wird aus Active Directory entfernt. Ist das SP1 für Windows Server 2003 nicht installiert, beträgt die Tombstone-Lifetime nur 60 Tage; 180 Tage sind automatisch vorgesehen, wenn eine Gesamtstruktur mit Windows Server 2003 R2 oder SP2 oder Windows Server 2008 R2 erstellt wird.

Da AdRestore nur die Tombstone-Daten wiederherstellt, fehlen die erweiterten Namensfelder, die Adressinformationen und Organisationsdaten sowie vor allem die Gruppenmitgliedschaften. Die wichtigsten Daten und vor allem die SID sind nach der Wiederherstellung aber wieder verfügbar. Die Wiederherstellung der Objekte durch AdRestore erfolgt über die Eingabeaufforderung. Wenn Sie das Tool ohne weitere Optionen aufrufen, zeigt es die gelöschten Objekte an, die es wiederherstellen kann. Mit der Option -r stellen Sie Objekte wieder her. Dabei ist die Syntax recht einfach:

adrestore -r <Name oder Teil des Namens>

Das Objekt befindet sich anschließend wieder auf dem Domänencontroller. Damit das Objekt auch im kompletten Active Directory wieder verfügbar ist, müssen Sie eine Replikation starten.

Gelöschte Objekte wiederherstellen - Object Restore For Active Directory

Mit diesem Freeware-Tool von Quest können Sie einzelne, versehentlich gelöschte Objekte einfacher wiederherstellen als mit der Windows-Datensicherung. Das Tool stellt eine grafische Oberfläche zur Verfügung und benötigt zur Wiederherstellung keinen Neustart des Domänen-Controllers.

Im Grunde genommen arbeitet das Programm auf die gleiche Art und Weise wie AdRestore von Sysinternals, allerdings mit grafischer Benutzeroberfläche. Die Software ist nach der Installation sechs Monate lauffähig. Kosten fallen dabei keine an. Offiziell unterstützt das Tool zwar nur Windows Server 2003, bei unseren Tests hat Object Restore for Active Directory aber seine Dienste problemlos auch in einer Windows-Server-2008-R2-Domäne verrichtet. In neueren Versionen, also Windows Server 2012/2012 R2, arbeiten Sie hier ebenfalls besser mit dem Active-Directory-Papierkorb im Active-Directory-Verwaltungscenter.

Freeware: Mit Object Restore for Active Directory lassen sich gelöschte Objekte einfach wiederherstellen.

Die Domänen, von denen das Tool gelöschte Objekte einlesen soll, fügen Sie per Rechtsklick auf den Knoten Quest Object Restore for Active Directory und dann mit dem Kontextmenübefehl Connect To hinzu. Über das Kontextmenü eines gelöschten Objektes können Sie dieses mit Restore wiederherstellen. Als weitere Informationen sehen Sie im Fenster das Datum der Löschung und die Angabe, in welcher OU das Objekt gespeichert war.

Da die Löschung von Objekten noch nicht auf alle Domänen-Controller repliziert ist, lässt sich über das Menü Aktion bestimmen, mit welchem Domänen-Controller sich das Tool verbinden soll, um gelöschte Objekte anzuzeigen. Da es sich bei dem Programm um ein vollwertiges Snap-In für die Microsoft Management Console (MMC) handelt, können Sie auch spezielle Aufgabenblockansichten anpassen. (mje)