Wie man Active Directory-Objektattribute wiederherstellt
Apr 7, 2023
Active Directory (AD) ist eine Datenbank und eine Reihe von Diensten, die eine zentralisierte Verwaltung von IT-Infrastrukturressourcen bietet. Sie verbindet Benutzer mit den Ressourcen, die sie benötigen, um ihre Arbeit zu erledigen. Daher müssen Techniker in der Lage sein, AD-Attribute, die durch Hardwareausfälle, Cyberangriffe, Skriptfehler und andere Probleme geändert oder gelöscht wurden, schnell zu überprüfen und wiederherzustellen. Andernfalls können die Benutzer nicht auf dieselben Ressourcen wie zuvor zugreifen, was zu Produktivitätsverlusten, Ineffizienz, unzufriedenen Kunden und einem beschädigten Markenimage führt.
Ausgewählte verwandte Inhalte:
Lesen Sie diesen Leitfaden, um zu erfahren, wie Sie Active Directory-Attribute auf ihre zuletzt gespeicherte Konfiguration wiederherstellen können. Diese Seite enthält auch PowerShell-Tipps und Tricks für das Zurücksetzen und Wiederherstellen von AD-Attributen.
Wann müssten Sie AD-Attribute zurücksetzen oder wiederherstellen?
Sie müssen in der Lage sein, AD-Attribute zurückzusetzen oder wiederherzustellen, wenn:
- Jemand im IT-Team macht einen Fehler, der die Attribute eines oder mehrerer AD-Objekte beeinflusst. Angenommen, ein IT-Techniker verwendet versehentlich das falsche PowerShell-Skript. Statt den Postadresseninformationen zu bestimmten AD-Benutzerkonten hinzuzufügen, ersetzt es den aktuellen Wert des Adressattributs jedes Benutzerobjekts in der Domäne durch ein Sternchen. Sie müssen diese Änderungen rückgängig machen, um die korrekten Adressen wiederherzustellen.
- Ein böswilliger Akteur erlangt Zugang zu Ihrem AD-Netzwerk und löscht oder bearbeitet AD-Objektattribute. Sie müssen die Attribute zurücksetzen oder wiederherstellen, um sicherzustellen, dass alles in Ordnung ist.
Können Sie den Active Directory Recycle Bin verwenden, um AD-Attribute wiederherzustellen?
Einfach ausgedrückt, nein.
The Active Directory Recycle Bin is designed to retain certain deleted Active Directory objects for a short period of time. But the Active Directory Recycle Bin does not store AD attributes that have been modified, so it does not help with the attribute recovery process.
Technisch gesehen könnten Sie versuchen, einen Prozess auf der Hoffnung aufzubauen, dass Sie schnell von allen unerwünschten Änderungen Kenntnis erlangen, einen Domain-Controller finden, der diese Änderungen noch nicht durch Replikation erhalten hat, und dessen Objekte als autoritativ festlegen. Es wäre jedoch unrealistisch, dies zu tun – es ist, als würden Sie Ihren Altersvorsorgeplan auf einer Serviette mit dem darauf gekritzelten Wort „Lottogewinn“ aufbauen.
Wie können Sie sicherstellen, dass Sie Backups von AD-Attributen haben?
Da Active Directory keine Aufzeichnung der Attributwerte eines Objekts führt, ist der erste Schritt, um sicherzustellen, dass Sie Attribute wiederherstellen oder zurücksetzen können, wenn nötig, etwas zu finden, das dies tut. Glücklicherweise gibt es, wenn es um Systemzustandsbackups von Active Directory geht, keinen Mangel an verfügbaren Backup-Tools.
Windows Server Backup (WBAdmin)
Eine Möglichkeit besteht darin, Microsoft Windows Server Backup (WBAdmin) zu verwenden. Die Installation des Windows Server Backup-Tools auf einem Computer installiert auch das Befehlszeilentool wbadmin.exe. Es bietet auch Zugriff auf die Windows PowerShell-Cmdlets für Windows Server Backup und das Windows Server Backup MMC-Snap-In. Diese drei Optionen sind einfach verschiedene Wege, um eine einzige zugrundeliegende Anwendung zu nutzen, sodass ein von einer dieser Optionen erstelltes Backup für alle sichtbar ist.
Sie können auf WBAdmin.exe zugreifen, indem Sie eine Eingabeaufforderung mit Administratorrechten öffnen. Um dies zu tun, klicken Sie auf Start, klicken Sie mit der rechten Maustaste auf Eingabeaufforderung und wählen Sie Als Administrator ausführen.
Es gibt einen wichtigen Vorbehalt, den man bei WBAdmin beachten sollte: Wenn es so konfiguriert ist, dass Backups in einem bestimmten Ordner gespeichert werden, wird nur die neueste Kopie des Backups aufbewahrt; nachfolgende Backups überschreiben den Inhalt des vorherigen Backups.
Um dieses Problem zu vermeiden, wird das folgende Skript einen Ordner erstellen, der mit dem aktuellen Datum im YYYYMMDD-Format benannt ist und dann die Active Directory ntds.dit-Datei mit dem WBAdmin’s START BACKUP Befehl in diesen Ordner sichern:
@echo off
set backupRoot=\FILESHARENtdsBackups
set backupFolder=%date:~-4,4%%date:~-10,2%%date:~7,2%
set backupPath=%backupRoot%%backupFolder%
mkdir %backupPath%
wbadmin start backup -backuptarget:%backupPath% -include:C:WindowsNTDSntds.dit -quiet
Die Ergebnisse dieses Vorgangs umfassen eine Volume Shadow Copy Service (VSS)-Schnappschuss der ntds.dit-Datei.
Der Nachteil dieses Ansatzes ist, dass die resultierende Datei erheblich größer ist als die ntds.dit-Datei. Zum Beispiel zeigt der Screenshot unten die Backup-Größe für eine 20MB große ntds.dit-Datei. Dieser zusätzliche Speicherplatzverbrauch mag in bestimmten Laboren kein großes Problem darstellen, aber er wird sich in einer Produktionsumgebung nicht gut skalieren lassen.
Ntdsutil.exe
Eine weitere von Microsoft verfügbare Option ist Ntdsutil.exe, ein Befehlszeilen-Tool zum Zugriff auf und zur Verwaltung einer Windows Active Directory-Datenbank. Ntdsutil ist gefährlich leistungsstark, daher ist Ihre Produktionsumgebung nicht der Ort, um den Umgang damit zu erlernen. Das liegt jedoch größtenteils daran, dass es eine Reihe von unglaublich nützlichen Befehlen enthält.
Zum Beispiel hat Ntdsutil den Befehl SNAPSHOT, der den Zustand von Active Directory zum Zeitpunkt seiner Ausführung erfasst:
Der große Nachteil dieses Ansatzes ist, dass Ntdsutil-Backups auf dem Volume geschrieben werden, das Active Directory hostet, was nicht ideal ist.
Wie stelle ich Attribute mit WBAdmin und Ntdsutil.exe wieder her?
Nun, lassen Sie uns den Einsatz von WBAdmin und Ntdsutil.exe durchgehen. Wir verwenden das Active Directory Domain Services Database Mounting Tool (DSAMAIN), um die in unseren Backups versteckten ntds.dit-Dateien zu mounten, sodass wir sie mit LDAP durchsuchen können.
1. Zuerst müssen wir eines der von WBAdmin erstellten VHD-Images finden, es einbinden und seinem primären Partition einen Laufwerksbuchstaben zuweisen.
2. Als Nächstes suchen wir den Pfad zur ntds.dit-Datei in unserem gemounteten Backup, öffnen eine Eingabeaufforderung als Administrator und verwenden den folgenden Befehl, um die ntds.dit-Datei zu mounten:
dsamain -dbpath „E:WindowsNTDSntds.dit“ -ldapport 10389
Das Schließen der Eingabeaufforderung wird DSAMAIN beenden, also stellen Sie sicher, dass sie offen bleibt, bis Sie die Wiederherstellung des Systemzustands abgeschlossen haben.
3. Jetzt, da das WBAdmin-Backup eingebunden ist, werden wir das von Ntdsutil erstellte Snapshot einbinden. Dazu öffnen wir eine neue Eingabeaufforderung als Administrator, verwenden den Snapshot-Befehl, um unsere Backups aufzulisten, wählen eines zum Einbinden aus und kopieren den von Ntdsutil zugewiesenen Laufwerkspfad:
4. Als Nächstes finden wir den Pfad zur ntds.dit-Datei, der sich unter dem von Ntdsutil zugewiesenen Pfad befindet, öffnen eine weitere Eingabeaufforderung als Administrator und verwenden den folgenden Befehl, um die ntds.dit-Datei einzubinden:
dsamain -dbpath “C:\$SNAP_201903261110_VOLUMEC$\Windows\NTDS\ntds.dit” -ldapport 20389
5. Danach ändern wir das Beschreibungsattribut unseres zuverlässigen Testbenutzers Delete Q. Me.
6. Jetzt können wir PowerShell öffnen und das Cmdlet Get-ADUser verwenden, um unseren Testbenutzer anzusehen. Active Directory lauscht standardmäßig auf Port 389, und wir haben unsere Backups auf den Ports 10389 und 20389 eingebunden. Mit dem optionalen Parameter Server können wir sehen, wie unser Testbenutzer live und in beiden unserer eingebundenen Backups aussieht.
Wie Sie sehen können, ist der aktuelle Wert des Beschreibungsattributs „Oops“, und beide Backups enthalten den vorherigen Wert „Demo User Account“.
7. Jetzt können wir das PowerShell-Cmdlet Get-ADUser verwenden, um dieses Attribut auf den Wert zurückzusetzen, der in einem unserer Backups erfasst wurde. Wenn wir eine Kopie des Objekts aus einem der eingehängten Backups nehmen, können wir die Kopie des Attributs des Objekts verwenden, um den Wert des Attributs des Live-Objekts festzulegen:
$UserBackup = Get-ADUser -Identity dqme -Properties Description -Server dc01:10389
Set-ADUser -Identity dqme -Description $UserBackup.Description -Server dc01:389
Beachten Sie, dass der Wert des Beschreibungsattributs auf den Wert zurückgesetzt wurde, der im gemounteten Backup erfasst wurde.
Das sieht einfach aus, aber es war nur eine Laborübung, die eine spezifische Attributänderung an einem spezifischen Objekt beinhaltete. Wir wussten auch, welche Backups die Informationen enthielten, die wir für unsere Wiederherstellungsoperation benötigten. In einem realen Wiederherstellungsszenario kann dieser Prozess unangenehm werden, besonders wenn man sich beeilt, den Dienst wiederherzustellen.
Stellen Sie Active Directory-Attribute mit Netwrix Solutions wieder her
Die Verwendung von Tools wie WBAdmin und Ntdsutil.exe zur Wiederherstellung von AD-Attributen kann ermüdend sein, besonders wenn Sie nicht über viele Ressourcen, Zeit oder Energie verfügen.
Glücklicherweise gibt es eine schnelle und einfache Methode, um AD-Attribute wiederherzustellen – Netwrix’s end-to-end Active Directory Security Solution. Leistungsstark, umfassend und vollgepackt mit Funktionen, führt dieses Tool schnelle Rollbacks von unerwünschten AD-Löschungen und Änderungen durch. So können Sie die Geschäftskontinuität und Kundenzufriedenheit sicherstellen.
FAQ
Wie stellt man gelöschte Active Directory-Benutzer mit allen Attributen wieder her?
Wenn Sie gelöschte AD-Benutzer mit ihrem vollständigen Attributsatz wiederherstellen müssen, hängt Ihr Vorgehen davon ab, ob der Active Directory Papierkorb aktiviert ist. Wenn er aktiviert ist, verwenden Sie PowerShell, um den Benutzer mit allen ursprünglichen Attributen wiederherzustellen:
Get-ADObject -Filter 'DisplayName -eq "Username"' -IncludeDeletedObjects | Restore-ADObject
Diese Methode erhält Gruppenmitgliedschaften, Berechtigungen und benutzerdefinierte Attribute ohne Datenverlust.
Wenn die AD-Papierkorb-Funktion nicht verfügbar ist, benötigen Sie eine autoritative Wiederherstellung mit Tools wie Ntdsutil.exe in Kombination mit einer aktuellen Systemsicherung. Dieser Prozess erfordert das Offline-Schalten eines Domain-Controllers und die Wiederherstellung aus einem Backup, was bedeutet, dass einige kürzliche Änderungen verloren gehen können. Der Schlüssel liegt darin, regelmäßige Backups zu haben und zu verstehen, dass autoritative Wiederherstellungen das gesamte Verzeichnis betreffen und nicht nur einzelne Objekte. Data Security That Starts with Identity bedeutet, dass die vollständige Integrität der Benutzerattribute während der Wiederherstellung kritisch für die Bewahrung von Zugriffskontrollen und Sicherheitsgrenzen ist.
Was tun, wenn der Active Directory Recycle Bin nicht aktiviert ist?
Ohne aktivierten AD Recycle Bin werden Ihre Wiederherstellungsoptionen komplexer, aber nicht unmöglich. Ihr primärer Weg ist die Durchführung einer autoritativen Wiederherstellung mit Ntdsutil.exe und einem Systemstatus-Backup, das vor dem Löschvorgang erstellt wurde. Dies erfordert das Booten eines Domain-Controllers im Directory Services Restore Mode und das Wiederherstellen der AD-Datenbank aus dem Backup.
Der Authoritative Restore-Prozess überschreibt neuere Änderungen mit älteren Backup-Daten, sodass alle Verzeichnisänderungen, die nach dem Backup gemacht wurden, verloren gehen. Deshalb sind proaktive Backup-Strategien wichtig – man kann nicht verwalten, was man nicht sieht, und man kann nicht wiederherstellen, was man nicht gesichert hat. Für zukünftigen Schutz sollte man sofort den AD Recycle Bin mithilfe von PowerShell aktivieren:
Enable-ADOptionalFeature -Identity "Recycle Bin Feature" -Scope ForestOrConfigurationSet
Dieser Schritt wandelt Ihre Wiederherstellungsfähigkeiten von komplexen Offline-Prozeduren in unkomplizierte PowerShell-Befehle um, wodurch Ausfallzeiten reduziert und die Geschäftskontinuität gewahrt wird.
Wie stellt man AD-Attribute mit PowerShell-Befehlen wieder her?
PowerShell bietet den effizientesten Weg zur Wiederherstellung von AD-Attributen, wenn der Papierkorb aktiviert ist. Beginnen Sie damit, gelöschte Objekte zu identifizieren:
Get-ADObject -Filter * -IncludeDeletedObjects | Where-Object {$_.Name -like "*username*"}
Sobald Sie das Zielobjekt gefunden haben, stellen Sie es vollständig wieder her:
Restore-ADObject -Identity "ObjectGUID"
Für die teilweise Attributwiederherstellung bei bestehenden Objekten verwenden Sie die Befehle Set-ADUser oder Set-ADObject, um spezifische Attribute anhand von Dokumentationen oder kürzlichen Exporten neu aufzubauen. Der praktische Ansatz kombiniert regelmäßige AD-Exporte mit dem Befehl Get-ADUser -Properties * mit Wiederherstellungsskripten, die schnell Attributsätze neu erstellen können. Diese Methode ermöglicht Ihnen eine granulare Kontrolle darüber, was wiederhergestellt wird, ohne nicht verwandte Verzeichnisobjekte zu beeinflussen.
Die Stärke von PowerShell liegt in ihrer Präzision – Sie können genau das wiederherstellen, was Sie benötigen, ohne Kollateralschäden. Erstellen Sie Wiederherstellungsskripte, die Ihren Prozess dokumentieren, und testen Sie diese zuerst in Nicht-Produktionsumgebungen. Effektives Identity Management erfordert sowohl Einblick in die vorgenommenen Änderungen als auch Kontrolle darüber, wie Sie auf diese Änderungen reagieren.
Wann sollte man eine autoritative im Vergleich zu einer nicht-autoritativen Wiederherstellung für AD-Objekte verwenden?
Wählen Sie die autoritative Wiederherstellung, wenn Sie bestimmte AD-Änderungen auf allen Domänencontrollern erzwingen müssen, wobei neuere Modifikationen überschrieben werden. Diese Methode eignet sich am besten für die Wiederherstellung versehentlich gelöschter Objekte oder das Rückgängigmachen von nicht autorisierten Massenänderungen. Der autoritative Prozess kennzeichnet wiederhergestellte Objekte mit höheren Versionsnummern und stellt sicher, dass Ihre wiederhergestellten Daten durch Replikation im gesamten Bereich verbreitet werden.
Eine nicht-autoritative Wiederherstellung eignet sich für Disaster-Recovery-Szenarien, bei denen ein ausgefallener Domain-Controller ohne Änderung der vorhandenen Verzeichnisdaten neu aufgebaut wird. Dieser Ansatz bezieht aktuelle AD-Informationen von funktionierenden Domain-Controllern, anstatt Backup-Daten auf die gesamte Domäne anzuwenden.
Die Entscheidung hängt von Umfang und Absicht ab. Eine autoritative Wiederherstellung betrifft den gesamten Forest und sollte sparsam eingesetzt werden – sie ist mächtig, aber störend. Eine nicht-autoritative Wiederherstellung betrifft nur den lokalen Domain-Controller und fügt sich nahtlos in die bestehende Infrastruktur ein. In beiden Fällen bestimmt das Verständnis der Replikationstopologie und das Vorhandensein aktueller Backups den Erfolg. Data Security That Starts with Identity bedeutet, mehrere Wiederherstellungsoptionen zu haben und genau zu wissen, wann man jede einzelne verwendet.
Wie stellt man Computerobjekte in Active Directory wieder her?
Die Wiederherstellung von Computerobjekten folgt ähnlichen Prinzipien wie die Benutzerwiederherstellung, erfordert jedoch zusätzliche Überlegungen hinsichtlich der Maschinenauthentifizierung und der Domänenbeziehungen. Wenn der AD Recycle Bin aktiviert ist, verwenden Sie diesen Befehl, um das Computerkonto mit allen Attributen wiederherzustellen:
Get-ADObject -Filter 'Name -eq "ComputerName"' -IncludeDeletedObjects | Restore-ADObject
Ohne Papierkorb wird die Wiederherstellung des Computers komplexer, da Sie die Vertrauensbeziehungen der Maschine neu aufbauen müssen. Nach einer autoritativen Wiederherstellung müssen die betroffenen Computer in der Regel der Domäne erneut beitreten, da ihre Maschinenkontokennwörter möglicherweise nicht richtig synchronisiert werden. Planen Sie diesen zusätzlichen Schritt ein, wenn Sie Computerobjekte aus einem Backup wiederherstellen.
Der praktische Ansatz umfasst das Dokumentieren von Computerobjektattributen, bevor Probleme auftreten. Exportieren Sie regelmäßig Computerkontodetails mit PowerShell, erfassen Sie Gruppenmitgliedschaften, Organizational Unit-Platzierungen und benutzerdefinierte Attribute. Diese Dokumentation ermöglicht eine schnellere manuelle Neuerstellung, wenn eine automatisierte Wiederherstellung nicht möglich ist. Computerobjekte repräsentieren mehr als nur Verzeichniseinträge – sie sind das Fundament Ihrer Maschinenidentitätsinfrastruktur, und ihre fehlerhafte Wiederherstellung kann die Authentifizierung in Ihrer gesamten Umgebung beeinträchtigen.
Teilen auf
Erfahren Sie mehr
Über den Autor
Joe Dibley
Sicherheitsforscher
Security Researcher bei Netwrix und Mitglied des Netwrix Security Research Teams. Joe ist ein Experte für Active Directory, Windows und eine Vielzahl von Unternehmenssoftwareplattformen und -technologien. Joe erforscht neue Sicherheitsrisiken, komplexe Angriffstechniken sowie zugehörige Milderungs- und Erkennungsmaßnahmen.
Erfahren Sie mehr zu diesem Thema
Erstellen Sie AD-Benutzer in Massen und senden Sie deren Anmeldeinformationen per E-Mail mit PowerShell
Wie man Passwörter mit PowerShell erstellt, ändert und testet
So fügen Sie AD-Gruppen hinzu und entfernen Objekte in Gruppen mit PowerShell
Vertrauensstellungen in Active Directory
Ransomware-Angriffe auf Active Directory