Active Directory: OUs und Objekte vor versehentlichem Löschen schützen
Wenn man zu Maßnahmen wie dem AD-Papierkorb oder gar zur AD-Wiederherstellung greifen muss, weil man versehentlich AD-Objekte gelöscht hat, ist dies Mehrarbeit genug. Besonders aufwändig werden derartige Wiederherstellungsmaßnahmen jedoch, wenn es ganze OUs mitsamt der in ihnen enthaltenen Objekte erwischt hat, weil auch mit AD-Papierkorb jedes wiederherzustellende Objekt zunächst eine vorhandene Elternstruktur braucht, in die es wieder „zurückgelegt“ wird.
Ab Windows Server 2008 gibt es Netz und doppelten Boden: Organisationseinheiten werden prinzipiell geschützt angelegt, das heißt man besitzt zunächst keine Rechte, sie zu löschen. Auch das Verschieben ist nicht möglich, weil es einen Löschvorgang beinhaltet. Untergeordnete Objekte wie Computer und Benutzer erben diesen Schutz allerdings nicht automatisch, auch untergeordnete OUs nicht. Man kann ihn allerdings nachträglich aktivieren oder auch wieder aufheben.
Schutz gegen Löschen: Einstellung ansehen und ändern
Beim Anlegen einer neuen OU lässt sich die Wahl treffen, ob der Container geschützt sein soll oder nicht. Um diese spezielle Eigenschaft für ein Objekt später nachzuschlagen, muss man im Menü „Ansicht“ der MMC „Active-Directory-Benutzer und Computer“ den Punkt „Erweiterte Features“ aktivieren. In der MMC „Active-Directory-Standorte und Dienste“ ist dies hingegen nicht nötig. Die Eigenschaft, ob ein Container oder Objekt geschützt ist, sieht und ändert man dann auf der Registerkarte „Objekt“. Per PowerShell fragt man die Eigenschaft für ein Objekt mit
Get-ADObject ‹DN des Objekts› -Properties ProtectedFromAccidentalDeletion
ab und setzt sie per
Set-ADObject ‹DN des Objekts› -ProtectedFromAccidentalDeletion $true
wobei ein Wert von $false den Schutz wieder aufhebt.
Für OUs verwendet man statt Get-ADObject und Set-ADObject die Entsprechungen Get-ADOrganizationalUnit respektive Set-ADOrganizationalUnit, die Parameter bleiben die gleichen.
Objekte rekursiv schützen oder Schutz aufheben
Im Hintergrund realisiert das AD den Schutz von Containern und Objekten durch eine Änderung der Zugriffsrechte: Bei gesetztem Schutz wird der Gruppe „Jeder“ respektive „Everyone“ die Rechte „Löschen“ und „Löschen der Unterstruktur“ verweigert. Man kann die Funktion also auch mit Windows Server 2003 oder noch älteren ADs nachbilden.
Die Realisierung rein per Sicherheitsdeskriptoren eröffnet außerdem die Möglichkeit, mit for-Schleifen und dem Dienstprogramm dsacls.exe rekursiv den Löschschutz ganzen Objektbäumen zu verpassen oder von ihnen zu entfernen. Die Methode, den Schutz per
for /f "tokens=*" %i in ('dsquery ou -limit 0') do dsacls %i /d everyone:SDDT
zu applizieren, wird etwa auf dem Blog von Ulf B. Simon-Weider diskutiert.




Keine Kommentare
Kommentar hinzufügen