Dziś zaprezentuję trzecią metodę odzyskiwania „martwych” obiektów poprzez Active Directory Recycle Bin. Metoda ta w przeciwieństwie do pozostałych może być wykonana niestety tylko na Active Directory w trybie domeny oraz lasu na poziomie Windows2008R2, czyli wymaga od nas aby wszystkie kontrolery domeny były uaktualnione do systemu Windows Server 2008 R2.
Standardowo całość będzie wykonywana przy użyciu PowerShell’a dlatego konieczne jest zaimportowanie modułów zarządzania Active Directory.
Import-Module ActiveDirectory
Sprawdzamy poziom domeny (DomainMode) oraz lasu (ForestMode):
Get-ADDomain | Format-List Name,DomainMode Get-ADForest | Format-List Name,ForestMode
W naszym przypadku są to Windows2003Domain oraz Windows2003Forest. Aby móc włączyć ADRB konieczne jest podniesienie poziomów funkcjonalnych domeny i lasu do Windows2008R2:
Set-ADDomainMode -Identity cds.pol -DomainMode Windows2008R2Domain Set-ADForestMode -Identity cds.pol -ForestMode Windows2008R2Forest
Widzimy iż poziomy funkcjonalne domeny i lasu zostały zmienione na Windows2008R2.
Przed rozpoczęciem należy pamiętać, iż wszystkie wcześniej usunięte obiekty znajdujące się w kontenerze Deleted Objects zostaną bezpowrotnie utracone. Dlatego jeżeli chcemy jeszcze odzyskać jakieś obiekty musimy to zrobić przed włączeniem ADRB.
Jeśli jesteśmy pewni, iż nie utracimy żadnych ważnych „martwych” obiektów przechodzimy do aktywacji funkcji AD Recycle Bin.
Enable-ADOptionalFeature 'Recycle Bin Feature' -Scope ForestOrConfigurationSet -Target cds.pol
Jest to procedura nie odwracalna dlatego musimy potwierdzić iż na pewno chcemy z niej skorzystać.
Czas na przetestowanie nowej funkcjonalności. Standardowo tworzymy nowego użytkownika, przypisujemy go do grupy i „przypadkowo” go usuwamy.
NET USER frankenstein <a href="mailto:P@ssw0rd">P@ssw0rd</a> /ADD /DOMAIN /COMMENT:"It’s alive" /FULLNAME:"Frankenstein" NET GROUP "Domain Admins" frankenstein /ADD /DOMAIN NET USER frankenstein /DELETE
Sprawdzamy czy obiekt faktycznie ma się dobrze po swojej śmierci.
Get-ADObject -Filter {name -like "frank*"} -IncludeDeletedObjects
I próbujemy go wskrzesić poleceniem Restore-ADObject.
Get-ADObject -Filter {name -like "frank*"} -IncludeDeletedObjects | Restore-ADObject
Jak widzimy obiekt ma się całkiem dobrze, bez żadnych negatywnych skutków amnezji jak w poprzednim przypadku. Dodatkowo odzyskiwane są również wszystkie powiązania z innymi obiektami.
Ważne jest tylko, aby odzyskiwany obiekt posiadał już dostępnego rodzica. W przypadku gdy usunęliśmy całe gałęzie OU konieczne jest odzyskiwanie w odwrotnej kolejności od korzenia do końca gałęzi.
Zarówno jak w przypadku nagrobków (TombStone) tak i w przypaku kosza (AD Recycle Bin) obiekty przechowywane są domyślnie 180 dni. Po upływie tego czasu odzyskanie obiektu jest nie możliwe.
Alternatywą dla anty-skrypciarzy jest możliwość wykorzystania narzędzie PowerGUI z przystawką ActiveDirectoryRecycleBin.powerpack. Cały proces odzyskiwania obiektów sprowadzał będzie się wtedy tylko ze skazaniem interesującego obiektu i kliknięciem Restore.
Źródło:
http://technet.microsoft.com/en-us/library/dd379509(WS.10).aspx
http://www.powergui.org/entry.jspa?categoryID=21&externalID=2461