Configurer et Utiliser la poubelle AD

La poubelle AD est une fonctionnalite de DS depuis 2008R2 (peut etre 2012?). Ceci permet de restorer des objets sans perdre les attributs – comme avec adrestore de sysinternals.

Activer la poubelle AD

Enable-ADOptionalFeature –Identity ‘Recycle Bin Feature’ –Scope  ForestOrConfigurationSet –Target ‘domain.local’
WARNING: Enabling 'Recycle Bin Feature' on 'CN=Partitions,CN=Configuration,DC=domain,DC=local' is an irreversible action!
You will not be able to disable 'Recycle Bin Feature' on 'CN=Partitions,CN=Configuration,DC=domain,DC=local' if you proceed.

Confirm
Are you sure you want to perform this action?
Performing operation "Enable" on Target "Recycle Bin Feature".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):

Configurer la poubelle

Trouver la valeur de retention courante:

dsquery * " cn=Directory Service,cn=Windows NT,cn=Services,cn=Configuration,dc=domain,dc=local" -scope base -attr tombstonelifetime
tombstonelifetime
180

Pour modifier cette valeur, il faut utiliser ADSIedit (dans le contexte Configuration aka LDAP://DC.domain.local/Configuration) et naviguer vers CN=Services,CN=Windows NT, CN=Directory Service tombstonelifetime.

Ces objets sont conservés dans un container de la base AD secret. Et comme l’idee est de pouvoir les restorer voyons comme on peut faire.

Le container des objets se trouve en ici:

 Get-ADDomain | select DeletedObjectsContainer DeletedObjectsContainer
-----------------------
CN=Deleted Objects,DC=domain,DC=local 

Lister les objets effacés
On doit utiliser la commande get-adobject avec le parametre -IncludeDeletedObjects

 get-adobject -filter 'objectclass -eq "user1" -AND IsDeleted -eq $True' -IncludeDeletedObjects -properties IsDeleted,LastKnownParent

Deleted           : True
DistinguishedName : CN=zzz_user1\0ADEL:1a354486-8aeb-4f5f-8d72-33aab18125bf,CN=Deleted Objects,DC=domain,DC=local
IsDeleted         : True
LastKnownParent   : OU=Désactivés,OU=cie,DC=domain,DC=local
Name              : zzz_user1
DEL:1a354486-8aeb-4f5f-8d72-33aab18125bf
ObjectClass       : user
ObjectGUID        : 1a354486-8aeb-4f5f-8d72-33aab18125bf

On peut aussi lister un utilisateur en particulier en utilisant les paramètres de filtrage

get-adobject -filter 'Name -like "*user2*" -AND IsDeleted -eq $True' -IncludeDeletedObjects -Properties samaccountname

Deleted           : True
DistinguishedName : CN=zzz_user2\0ADEL:3bea71e0-e5c0-41a
a-9b18-85abaaff4667,CN=Deleted Objects,DC=domain,DC=local
Name              : zzz_user2
DEL:3bea71e0-e5c0-41aa-9b18-85abaaff4667
ObjectClass       : user
ObjectGUID        : 3bea71e0-e5c0-41aa-9b18-85abaaff4667
samaccountname    : user2

Restorer un objet effacé

Une fois trouver en listant avec get-adobject, la commande restore-adobject peut faire un test ou restorer l’object directement.

Pour faire un test, on utilise -WhatIf

get-adobject -filter 'Name -like "*user2*"' -IncludeDeletedObjects | Restore-ADObject -WhatIf
WhatIf : Opération « Restore » en cours sur la cible « CN=zzz_user2\0ADEL:3bea71e0-e5c0-41aa-9b18-85abaaff4667,CN=Deleted Objects,DC=domain,DC=local ».

Pour restorer, on utilise -PassThru

get-adobject -filter 'Name -like "*user2*"' -IncludeDeletedObjects | Restore-ADObject -PassThru

DistinguishedName   Name                ObjectClass         ObjectGUID
-----------------   ----                -----------         ----------
cn=user2 ... zzz_user2 ... user                3bea71e0-e5c0-41...

On vérifie si le compte a ete restore

 get-aduser -filter 'Name -like "*user2*"'
DistinguishedName : CN=zzz_user2
Nicol,OU=Désactivés,OU=user,DC=domain,DC=local
Enabled           : False
GivenName         : zzz_user2
Name              : zzz_user2
ObjectClass       : user
ObjectGUID        : 3bea71e0-e5c0-41aa-9b18-85abaaff4667
SamAccountName    : user2
SID               : S-1-5-21-1069915444-1557172909-2421692447-1258
Surname           : user2
UserPrincipalName : user2@domain.local

Si on ne veut pas que les objets soient restores au même endroit, on peut utiliser l’option -TargetPath “DN path”

Advertisements

#ad, #ds, #microsoft, #poubelle, #recycle-bin, #restore