OUs, Gruppen, User: AD-Objekte vor zufälligem Löschen schützen

    Neue OUs erhalten beim Anlegen den Schutz vor zufälligem Löschen.Microsoft führte mit Windows Server 2008 ein Feature ein, das Admini­stratoren hindert, ganze OUs oder Gruppen ver­sehent­lich zu entfernen. Aller­dings erhalten nur wenige Objekte beim Anlegen auto­matisch diese Einstel­lung, so dass es sinn­voll ist, wenn man sie selbst verwaltet.

    Auch wenn sich die Möglichkeiten zur Wiederherstellung von gelöschten Objekten dank des AD-Papierkorbs verbessert haben, ist das ungeplante Entfernen ganzer OUs einschließlich der darin enthaltenen User oder Computer immer noch ein größerer Unfall. Ein beliebtes Werkzeug für das unabsichtliche Abräumen von OUs ist die Gruppenrichtlinienverwaltung, der viele Administratoren eine solche Fähigkeit nicht zutrauen.

    Eintrag in der ACL

    Standardmäßig erhalten neue Organisationeinheiten den Schutz gegen versehentliches Löschen, wenn man sie in Active Directory-Benutzer und -Computer oder im AD-Verwaltungscenter anlegt. Diese Eigenschaft bleibt auf die betreffende OU beschränkt und vererbt sich nicht auf die darin enthaltenen Objekte.

    "Objekt vor zufälligem Löschen schützen" schreibt einen Eintrag in die ACL, der das Löschrecht entzieht.

    Dieser Schutz vor zufälligem Löschen beruht auf keinem neuen Attribut für AD-Objekte, vielmehr handelt es sich um eine zusätzliche Option in den AD-Tools, um der Gruppe Jeder das Löschrecht für OUs, Gruppen oder User zu verweigern.

    Objekte in AD-Benutzer und -Computer schützen

    Möchte man nur einzelne OUs oder Gruppen schützen, dann eignen sich die genannten GUI-Tools, um das unbeabsichtigte Löschen der Objekte zu verhindern. In Active Directory-Benutzer und -Computer öffnet man zu diesem Zweck den Dialog Eigenschaften im Kontextmenü eines Containers und wechselt zur Registerkarte Objekt.

    OU vor zufälligem Löschen schützen in Active Directory-Benutzer und -Computer

    Dort findet sich die Checkbox Objekt vor zufälligem Löschen schützen. Anschließende Versuche, eine solche OU oder Gruppe zu entfernen, scheitern an der fehlenden Berechtigung.

    Aktiviert man den Schutz vor versehentlichem Löschen, dann scheitert das Entfernen einer OU an den Berechtigungen.

    Soll ein eine OU oder eine Gruppe irgendwann wirklich entfernt werden und wurde sie gegen das versehentliche Löschen geschützt, dann muss man erst diesen Schutz entfernen. Anschließend lässt sie sich von Benutzern eliminieren, die mit den entsprechenden Rechten ausgestattet sind.

    Geschützte Objekte in ADAC anzeigen

    Umfasst das AD eine Vielzahl von OUs, Gruppen oder Benutzern, dann möchte man wahrscheinlich erst einen Überblick erhalten, welche Objekte bereits geschützt sind. Auf viele der Standard-Container wie Domain Controllers, Computer oder Users trifft das nicht zu, und normalerweise auch nicht auf solche, die per Bulk-Import erzeugt wurden.

    Im AD-Verwaltungscenter kann man für einzelne Objekte anzeigen, ob sie vor dem Löschen geschützt wurden.

    Für einzelne Objekte kann man im AD-Verwaltungscenter relativ leicht anzeigen, ob der Schutz gegen das Löschen aktiviert wurde. Diese Information findet man in den Eigenschaften einer OU oder einer Gruppe. Bei Bedarf kann man diese Einstellung hier auch gleich setzen.

    Geschützte Objekte auslesen mit PowerShell

    Das in Windows Server 2012 und RSAT für Windows enthaltene PowerShell-Modul für Active Directory bietet die Mittel, um die Eigenschaft ProtectedFromAccidentalDeletion auszulesen und zu setzen. Folgendes Beispiel listet alle OUs auf, die nicht gegen das zufällige Löschen geschützt sind:

    Get-ADOrganizationalUnit -filter * -Properties ProtectedFromAccidentalDeletion |
    where {$_.ProtectedFromAccidentalDeletion -eq $false} |
    select DistinguishedName

    Eine Einschränkung auf die gewünschten Objekte mit Hilfe des Parameters -Filter ist übrigens nicht möglich, weil er das erweiterte Attribut ProtectedFromAccidentalDeletion in einer Abfrage nicht unterstützt. Im Fall von Gruppen oder Benutzern würde man im obigen PowerShell-Kommando das Cmdlet Get-ADOrganizationalUnit durch Get-ADGroup bzw. Get-ADUser ersetzen.

    Schutz gegen Löschen mit PowerShell setzen

    PowerShell erweist sich den GUI-Tools als überlegen, wenn man eine größere Zahl von Objekten modifizieren möchte. Um alle OUs einer Domäne gegen das versehentliche Löschen zu schützen, ruft man

    Get-ADOrganizationalUnit -filter * |
    Set-ADObject -protectedFromAccidentalDeletion $true

    auf. Wenn man vor der Ausführung des Kommandos wissen möchte, welche OUs betroffen sind, dann sollte man es erst mit dem zusätzlichen Parameter -whatif starten. Auch dieser Befehl lässt sich leicht so modifizieren, dass er auf Gruppen oder User angewandt wird, indem man wie oben das Cmdlet Get-ADOrganizationalUnit gegen Get-ADGroup bzw. Get-ADUser austauscht.

    1 Kommentar

    Bild von Michael Hack
    Michael Hack sagt:
    15. Oktober 2013 - 9:20

    Danke für diesen guten Artikel.