Windows Server 2008 R2 bietet für die Wiederherstellung von Objekten eine neue Funktionsebene für das Active Directory an. Der Papierkorb steht erst dann zur Verfügung, wenn ein Administrator mit Enterprise-Administrator-Rechten ihn aktiviert.
Da der Papierkorb ein optionales Feature ist, sollten Sie dieses erst dann aktivieren, wenn Sie die Funktion auch produktiv nutzen wollen. Nach der einmaligen Aktivierung lässt sich diese Funktion nicht mehr deaktivieren. Aber nun der Reihe nach.
Papierkorb aktivieren
Die Aktivierung erfolgt über das Active-Directory-Modul der PowerShell. Dieses starten Sie in der Programmgruppe Verwaltung über den Link Active Directory Module for Windows PowerShell:
1. Geben Sie in der PowerShell nach dem Start den Befehl Get-ADOptionalFeature ein.
2. Anschließend fragt Sie die Befehlszeile nach dem Filter. Hier verwenden Sie am besten den Platzhalter *.
3. Als Nächstes zeigt die PowerShell Informationen zu den optionalen Features an. Im Bereich EnabledScopes ist dies der Wert { }, was bedeutet, dass dieses Feature noch deaktiviert ist. Wichtig ist, dass der Wert bei RequiredForestMode auf WindowsServer2008R2Forest steht und aktiviert ist.
4. Um den Papierkorb zu aktivieren, geben Sie den Befehl Enable-ADOptionalFeature "Recycle Bin Feature" ein.
5. Anschließend fragt die PowerShell nach dem Scope. Hier verwenden Sie ForestOrConfigurationSet.
6. Nun benötigen Sie das Target. Geben Sie hier als Wert die Bezeichnung Ihrer Gesamtstruktur ein, also den FQDN, zum Beispiel contoso.com.
7. Danach müssen Sie noch die Aktivierung bestätigen. Wenn Sie nochmals mit dem Befehl Get-ADOptionalFeature den Status abrufen, wird das Feature als aktiv gekennzeichnet.
Die Aktivierung ist einmalig, sie lässt sich nicht mehr rückgängig machen. Das bedeutet, dass Sie die entsprechende Domäne oder die Gesamtstruktur löschen und neu erstellen müssen, um die Funktion wieder zu deaktivieren.
Inhalt des Papierkorbs anzeigen
Wollen Sie den Inhalt des Papierkorbs anzeigen, verwenden Sie im Active-Directory-Modul der PowerShell, das Sie über die Programmgruppe Verwaltung starten, den Befehl:
Get-ADObject -SearchBase "CN=Deleted Objects,DC=<Domänenname>,DC=<Top-Level-Domänenname>" -ldapFilter "(objectClass=*)" -includeDeletedObjects
Die Option -includeDeletedObjects stellt sicher, dass die PowerShell nicht nur alle herkömmlichen Objekte anzeigt, sondern auch gelöschte Objekte berücksichtigt.
Die PowerShell zeigt die GUID des entsprechenden Objektes an. Diese benötigen Sie für die Wiederherstellung. Über das Menü und dann Auswahl von Bearbeiten/Markieren können Sie die GUID in die Zwischenablage kopieren und mit dem Befehl Restore-ADObject -Identity <GUID> das entsprechende Objekt wiederherstellen.
Um Benutzerkonten oder Domänen wiederherzustellen, benötigen Sie das ehemalige übergeordnete Objekt des gelöschten Objekts. Diese Info erhalten Sie über die Option -properties lastknownparent des Befehls Get-ADObject.
Der Active-Directory-Papierkorb im Praxiseinsatz
Der Papierkorb von Windows Server 2008 R2 verwendet die Werte isDeleted und isRecycled. Ist der Wert isRecycled für ein AD-Objekt auf True gesetzt, können Sie dieses nicht wiederherstellen.
Objekte, bei denen der Wert isDeleted auf True gesetzt ist, lassen sich wiederherstellen, und zwar innerhalb des Tombstone-Lifetime. Dieser beträgt bei Windows Server 2008 R2 180 Tage. Sie finden den jeweiligen Wert für Ihr Active Directory am besten in ADSI-Edit über den Container Konfiguration.
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 beim Wert tombstoneLifetime. Sie können den Wert an dieser Stelle auch anpassen; allerdings ist dies in den wenigsten Fällen notwendig.
Sobald Sie ein Objekt im Active Directory löschen, erhält dieses den Wert True bei isDeleted. Der Zeitraum, in dem Sie das Objekt wiederherstellen können, heißt Deleted Object Lifetime (DOL). Dieser Wert beträgt ebenfalls 180 Tage. Sie finden ihn über msDS-deletedObjectLifetime. Nach 180 Tagen erhält das Objekt den Wert True bei isRecycled und lässt sich nicht mehr wiederherstellen. Nach Ablauf der Tombstone-Lifetime löscht Windows das Objekt aus der AD-Datenbank.
Objekte aus dem AD-Papierkorb mit Bordmitteln wiederherstellen
Um gelöschte Objekte wiederherzustellen, verwenden Sie das PowerShell-Modul für Active Directory. Sie benötigen vor allem die beiden CMDlets Get-ADObject und Restore-ADObject: Klicken Sie auf Start/Verwaltung und dann mit der rechten Maustaste auf Active Directory-Modul für Windows PowerShell. Wählen Sie Als Administrator ausführen. Geben Sie in der Eingabeaufforderung den Befehl
Get-ADObject -Filter {<Name des Objekts>} -IncludeDeletedObjects | Restore-ADObject
ein. 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 wiederherstellen. Mit dem Befehl
Get-ADObject -Filter {displayName -eq "Thomas Joos"} -IncludeDeletedObjects
lassen Sie sich gelöschte Objekte 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 sie mit Pipeline (|) an das Cmdlet Restore-ADObject. Kennen Sie die ursprüngliche Hierarchie der Organisationseinheit nicht, müssen Sie mit dem Cmdlet Get-ADObject die Hierarchie recherchieren:
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.
Objekte und OU anzeigen und wiederherstellen
Mit dem Befehl
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 entsprechenden OU anzeigen. Den Namen beziehen Sie aus der Verwendung von
Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" -ldapFilter:"(msDs-lastKnownRDN=Thomas Joos)" -IncludeDeletedObjects -Properties lastKnownParent
Sie müssen bei der Verwendung im Cmdlet Get-ADObject einen weiteren umgekehrten Schrägstrich im Namen setzen. Stellen Sie in diesem Beispiel also zunächst die Organisationseinheit Einkauf wieder her, bevor Sie das untergeordnete Objekt Thomas Joos wiederherstellen. Sie haben alle bisherigen Untersuchungen mit dem lastKnownParent-Attribut durchgeführt. Dieses verweist auf das direkt übergeordnete Objekt. Allerdings gibt der Befehl nicht an, ob das nächste übergeordnete Objekt ebenfalls gelöscht ist. Sie sollten daher mit dem Wert lastKnownParent überprüfen, ob Einkauf nicht noch einer weiteren Organisationseinheit untergeordnet ist:
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 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
Objekte aus dem Active Directory mit AdRestore wiederherstellen
Das Löschen von Konten im Active Directory ist rasch passiert und kann unangenehme Auswirkungen haben. Die Wiederherstellung mit Bordmitteln kann aufwendig und zeitintensiv sein. Vor allem ungeübte Administratoren können mit solchen Vorgängen sehr schnell mehrere Stunden oder einen ganzen Tag verbringen.
Für diese Fälle gibt es das Tool AdRestore von Sysinternals. Zwar steht Windows Server 2008 R2 noch nicht auf der Liste der unterstützten Betriebssysteme, aber die Wiederherstellung funktioniert problemlos.
Mit dem Tool lassen sich gelöschte Objekte wiederherstellen, ohne dass Sie die Active-Directory-Werkzeuge verwenden müssen. AdRestore reanimiert nur den Tombstone selbst, stellt aber keine weiteren Daten wieder her. Dadurch fehlen die erweiterten Namensfelder, die Adressinformationen und Organisationsdaten und vor allem die Gruppenmitgliedschaften. Die wichtigsten Daten und allen voran die SID sind nach der Wiederherstellung aber wieder verfügbar.
Die Wiederherstellung der Objekte durch AdRestore erfolgt über die Befehlszeile. 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.
Object Restore for Active Directory
Mit diesem Freeware-Tool von Quest können Sie einzelne, versehentlich gelöschte Objekte einfacher als mit der Windows-Datensicherung wiederherstellen. Das Tool stellt eine grafische Oberfläche zur Verfügung und benötigt zur Wiederherstellung keinen Neustart des Domänencontrollers.
Im Grunde genommen arbeitet das Programm auf dem gleichen Weg 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.
Die Domänen, von denen das Tool gelöschte Objekte einlesen soll, fügen Sie per Rechtsklick auf den Menüpunkt Quest Object Restore for Active Directory und dann mit 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 sowie in welcher OU das Objekt gespeichert war.
Da das Löschen von Objekten noch nicht auf alle Domänencontroller repliziert ist, lässt sich über das Menü Aktion bestimmen, mit welchem Domänencontroller sich das Tool verbinden soll, um gelöschte Objekte anzuzeigen. Da es sich bei dem Programm um ein vollwertiges Snap-In für die MMC handelt, kann man auch spezielle Aufgabenblockansichten anpassen.
Versehentliches Löschen von Objekten in Active Directory verhindern
In Windows Server 2008 R2 sind Active-Directory-Objekte vor dem versehentlichen Löschen geschützt.
Dieser Schutz ist standardmäßig aktiviert. Nachdem Sie über das Menü Ansicht die erweiterte Ansicht aktiviert haben, finden Sie auf der Registerkarte Objekt die Option Objekt vor zufälligem Löschen schützen.
Durch diese Option steuern Sie die Berechtigungen auf der Registerkarte Sicherheit des Objektes. Windows verweigert der Gruppe Jeder den Eintrag Löschen. Dies äußert sich darin, dass ein Administrator vor dem Löschen eines solchen geschützten Objektes zunächst Kontrollkästchen zu dieser Option deaktivieren muss, bevor sich das Objekt löschen lässt. Wenn Sie die Option nicht deaktivieren, erhalten auch Administratoren eine Fehlermeldung, dass der Zugriff verweigert wird.
Active Directory sichern und wiederherstellen
Die komplette AD-Datenbank können Sie in Windows Server 2008 R2 mit der internen Datensicherung sichern. Die Sicherung lässt sich manuell durchführen, Sie können aber auch einen Zeitplan erstellen. Rufen Sie zunächst die Windows-Server-Sicherung auf und starten Sie den Assistenten für eine Einmalsicherung oder einem Sicherungszeitplan. Wählen Sie bei der Option der Sicherung Benutzerdefiniert aus. Die Windows-Serversicherung ist standardmäßig nicht installiert. Sie müssen das Feature über den Server-Manager nachinstallieren.
Natürlich besteht auch die Möglichkeit, die Option Vollständig bei einem Domänencontroller auszuwählen. In diesem Fall sichert Windows, neben der Datensicherung, den kompletten Server mit allen vorhandenen Festplatten und Partitionen. Auf der nächsten Seite wählen Sie aus, was Sie sichern wollen. Aktivieren Sie die Optionen Systemstatus und System-reserviert, damit notwendige Daten zur Wiederherstellung von Active Directory mitgesichert werden. Auf der nächsten Seite wählen Sie aus, wo Sie die Daten im Netzwerk sichern wollen. Die Datensicherung unterstützt nicht das Ablegen der Sicherung auf der gleichen Partition.
Durch Aktivierung der Option VSS-Kopiesicherung in den erweiterten Einstellungen nutzt das Sicherungsprogramm den Volumeschattenkopie-Dienst (Volume Shadow Copy Service, VSS). Nach Bestätigung der restlichen Eingaben beginnt der Assistent mit der Sicherung. Das Sicherungsprogramm ermöglicht es, die Datensicherung über die Befehlszeile zu konfigurieren.
Das kann zum Beispiel sinnvoll sein, wenn Sie die Sicherung über ein Skript oder auf einem Core-Server durchführen wollen. Mit dem Befehl
wbadmin start backup -allCritical -backuptarget:<Zielfestplatte> -quiet
sichern Sie die notwendigen Partitionen auf die Zielfestplatte. Durch Eingabe von -quiet müssen Sie die Eingabe nicht bestätigen, sondern die Sicherung beginnt sofort. Mit dem Befehl
wbadmin start backup -include:<Partition1>:,<Partition2>:,<PartitionN> -backuptarget:<Zielfestplatte>: -quiet
werden alle hinterlegten Partitionen in die Sicherung eingeschlossen. Die Partitionen trennen Sie durch Kommas ohne Leerzeichen voneinander.
Snapshots der Active-Directory-Datenbank erstellen
In Windows Server 2008 R2 ist es möglich, einen Snapshot der Active-Directory-Datenbank zu erstellen und diesen bereitzustellen. Diese bereitgestellte Offline-Version der Datenbank können Sie genauso bearbeiten wie die Online-Version.
Windows erstellt den Snapshot als Schattenkopie der Datenbank. Die Bereitstellung der Active Directory-Datenbank führen Sie durch das Tool Dsamain.exe durch. Die Erstellung von Snapshots nehmen Sie mit dem Befehl snapshot in Ntdsutil.exe vor. Auf den Snapshot können Sie mit beliebigen LDAP-Tools zugreifen, zum Beispiel mit Ldp.exe oder dem Snap-In Active-Directory-Benutzer und -Computer,.
Snapshots dürfen nur Domänen-Admins und Organisations-Admins erstellen. Um einen Snapshot bereitzustellen, müssen Sie nicht zwingend einen solchen mit Ntdsutil.exe erstellt haben. Sie können auch eine Datensicherung von Active Directory bereitstellen. Der beste und schnellste Weg, einen Snapshot zu erstellen, ist folgender:
1. Öffnen Sie eine Befehlszeile und starten Sie Ntdsutil.exe.
2. Geben Sie snapshot ein.
3. Geben Sie den Befehl activate instance ntds ein.
4. Geben Sie create ein. Der Snapshot wird anschließend erstellt und dessen GUID angezeigt.
5. Geben Sie den Befehl mount <GUID des Snapshots> ein. Mit list mounted sehen Sie alle gemounteten Snapshots. Mit unmount <GUID> heben Sie die Bereitstellung wieder auf, und mit delete <GUID> löschen Sie den Snapshot erneut.
Mit ntdsutil "activate instance ntds" snapshot create quit quit können Sie die Erstellung auch über ein Skript durchführen. Mit dem Befehl dsamain /dbpath <Pfad zur Datenbankdatei> /ldapport <Port> stellen Sie eine Offline-Kopie der Active Directory-Datenbank auch als LDAP-Server bereit. (mje)