Gelöschte Active-Directory-Objekte wiederherstellen mit PowerShell


    Tags: ,

    Wird ein AD-Objekt wie zum Beispiel ein User-Objekt gelöscht, ist es noch nicht ganz verloren. Es wird bekanntlich in einen speziellen Container (auch Tombstone genannt) mit dem Namen "CN=Deleted Objects" verschoben, indem es in der Regel noch 180 Tage (dieser Wert kann variieren) frisch gehalten wird. Dieser Container wird in der regulären Active Directory Benutzer- und Computer-Konsole nicht angezeigt, kann aber mit dem Tool Ldp.exe sichtbar gemacht werden.

    Um ein solches Objekt per PowerShell und den Cmdlets aus dem ActiveDirectory-Modul wiederherzustellen, muss beim Abrufen des Objekts per Get-ADObject der Parameter IncludeDeletedObjects gesetzt werden. Die auf diese Weise gefunden Objekte werden per Restore-AdObject-Cmdlet wiederhergestellt.

    User anlegen, löschen und wiederherstellen

    Ein einfaches Beispiel soll das Prinzip veranschaulichen. Zu Testzwecken wird in der aktuellen Domäne per New-AdUser ein neuer User angelegt:

    New-AdUser –Name Hannes

    Dieser User wird gleich danach wieder per Remove-AdObject gelöscht:

    Get-AdUser–Identity Hannes | Remove-AdObject –Confirm:$False

    Beim Abrufen per Get-AdObject wird der Parameter IncludeDeletedObjects gesetzt:

    Get-AdObject –Filter { objectClass –eq "user" –and Name –like "*Hannes*” –IncludeDeletedObjects

    Der gelöschte User sollte dabei ausgegeben werden. Der nächste Aufruf stellt den gelöschten User wieder her:

    Get-AdObject –Filter { objectClass –eq "user" –and Name –like "*Hannes*” –IncludeDeletedObjects | Restore-AdObject

    Die hier beschriebene Funktionalität hat nichts mit dem AD-Papierkorb zu tun, der mit Windows 2008 R2 eingeführt wurde.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Peter Monadjemi

    Peter Monadjemi lebt als freier IT-Journalist, Buchautor und Trainer mit Schwerpunkten PowerShell und .NET-Programmierung in Esslingen am Neckar.

     

    Verwandte Beiträge

    Weitere Links

    1 Kommentar

    Warum so umständlich mit einzelnen PowerShell Cmdlets wo es doch den AD-Papierkorb seit Server 2012 gibt?
    Gut, der basiert auch auf PowerShell, aber es werden lediglich 2 Mausklicks benötigt, dann sind die AD-Objekte vollständig und sofort nutzbar wiederhergestellt. Im Tombstone-Container liegen ja nur die "kastrierten rudimentären Überreste" des ehemaligen Objekts, die nach Wiederherstellung wieder vervollständigt werden müssen.