Jednostki organizacyjne w usłudze Active Directory (AD) pomagają administratorom kategoryzować użytkowników w zależności od różnych działów w organizacji. Po usunięciu jednostki organizacyjnej należy ją przywrócić wraz ze wszystkimi zawartymi w niej obiektami. Istotne informacje, takie jak obiekty zasad grupy, które są stosowane do jednostek organizacyjnych i wszelkie grupy zabezpieczeń, których członkowie jednostki organizacyjnej byli wcześniej częścią, również muszą zostać przywrócone.
W tym artykule omówione zostaną różne sposoby przywracania usuniętych zagnieżdżonych jednostek organizacyjnych.
Active Directory udostępnia funkcję Kosz, która jest domyślnie wyłączona i należy włączyć ją ręcznie. Jeśli Kosz jest włączony w Twoim środowisku, zapewnia to dodatkową swobodę w przywracaniu jednostek organizacyjnych ze wszystkimi niezbędnymi informacjami.
Jeśli Kosz nie jest włączony, usunięta jednostka organizacyjna jest przenoszona do kontenera Obiekty usunięte i pozbawiana większości swoich atrybutów. Jednostka organizacyjna pozostaje w tym stanie reliktu przez 60-180 dni, w zależności od wersji systemu Windows Server i ustawień konfiguracyjnych. Jednostkę organizacyjną można nadal przywrócić za pomocą narzędzi natywnych, takich jak PowerShell lub narzędzie LDP, ale brakujące atrybuty należy ponownie dodać ręcznie.

Gdy Kosz jest włączony, jednostka organizacyjna jest nadal przenoszona do kontenera Obiekty usunięte, ale wszystkie jej atrybuty są zachowywane przez czas określony przez atrybut msDS-deletedObjectLifetime. Na tym etapie jednostka organizacyjna może zostać przywrócona ze wszystkimi atrybutami w stanie nienaruszonym.
Po upływie okresu msDS-deletedObjectLifetime obiekt jest przenoszony do stanu Obiekt odtworzony, w którym usuwane są prawie wszystkie jego atrybuty. Obiekty pozostają w tym stanie zgodnie z atrybutem tombstoneLifetime. Po wygaśnięciu okresu tombstoneLifetime obiekt jest usuwany z bazy danych przez proces garbage-collection i nie można go przywrócić.
Aby zachować wszystkie atrybuty usuniętych obiektów, konieczne jest włączenie Kosza usługi AD.
Przed włączeniem kosza usługi AD należy sprawdzić, czy poziomy funkcjonalne domeny i lasu to co najmniej Windows Server 2008 R2.
Uwaga: Po włączeniu kosza usługi AD nie można go wyłączyć.
Aby włączyć kosz usługi AD, należy wykonać następujące polecenie w PowerShell.
Enable-ADOptionalFeature –Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=www,DC=zylker'DC=com' –Scope ForestOrConfigurationSet –Target 'www.zylker.com'
Jeśli korzystasz z Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 lub Windows Server 2012, możesz użyć Centrum administracyjnego usługi Active Directory, aby włączyć kosz.
Administrator może korzystać z poniższych narzędzi natywnych do przywracania jednostek organizacyjnych ze wszystkimi atrybutami w stanie nienaruszonym, pod warunkiem, że Kosz usługi AD został włączony.
Rozważmy następujący scenariusz: Administrator example.com przypadkowo usuwa zagnieżdżoną jednostkę organizacyjną o nazwie HR_Department, która zawiera konta użytkowników pracowników działu HR. Usunięcie jednostki organizacyjnej powoduje usunięcie zagnieżdżonej jednostki organizacyjnej o nazwie Menedżerowie, która zawiera konta użytkowników menedżerów pracujących w dziale HR. Jack, Vincent i Emma to konta użytkowników w jednostce organizacyjnej HR_Department. Harry jest kontem użytkownika w jednostce organizacyjnej Menedżerowie. Poniższa ilustracja przedstawia hierarchię jednostki organizacyjnej HR_Department.

W artykule wyjaśniono, w jaki sposób można przywrócić te obiekty za pomocą natywnych narzędzi usługi AD.
Uwaga: Podczas przywracania obiektów przy użyciu narzędzi natywnych bardzo ważne jest, aby rozpocząć przywracanie obiektów od najwyższego poziomu hierarchii, ponieważ usunięte obiekty można przywrócić tylko do aktywnego elementu nadrzędnego.
Aby przywrócić usunięty obiekt, otwórz program PowerShell i wpisz następujące polecenie:
Restore-ADObject -Identity $dn
W tym miejscu $dn to nazwa wyróżniająca obiektu, który ma zostać przywrócony. Aby znaleźć nazwę wyróżniającą obiektu, należy użyć następującego skryptu w programie PowerShell:
(Get-ADObject -SearchBase (get-addomain).deletedobjectscontainer -IncludeDeletedObjects -filter "samaccountname -eq '%OLD_NAME%' ")
Aby znaleźć nazwę wyróżniającą obiektu i wykonać operację przywracania, należy użyć następującego skryptu w PowerShell:
(Get-ADObject -SearchBase (get-addomain).deletedobjectscontainer -IncludeDeletedObjects -filter "samaccountname -eq '%OLD_NAME%' ") | Restore-ADObject
W tym miejscu %OLD_NAME% to nazwa wyróżniająca obiektu przed jego usunięciem.

W przeciwieństwie do przywracania pojedynczego obiektu, przywracanie jednostki organizacyjnej i jej obiektów składowych nie jest procesem jednoetapowym.
Biorąc pod uwagę scenariusz wspomniany powyżej, gdy jednostka organizacyjna HR_Department jest usuwana, wszystkie obiekty, które zawiera – w sumie sześć obiektów, w tym dwie jednostki organizacyjne i czterech użytkowników – są przenoszone do kontenera Obiekty usunięte ze zmienionymi nazwami wyróżniającymi. Kontener Obiekty usunięte wyświetla wszystkie usunięte obiekty w płaskiej hierarchii jako ich bezpośrednie elementy podrzędne, a oryginalna hierarchia zostaje utracona. Jeśli administrator musi przywrócić jednostkę organizacyjną HR_Department, powinien w jakiś sposób zidentyfikować oryginalną hierarchię tej jednostki.
Aby przywrócić jednostkę organizacyjną HR_department, należy najpierw znaleźć jej oryginalną hierarchię.
Jeśli znasz oryginalną hierarchię usuniętej jednostki organizacyjnej, możesz użyć polecenia cmdlet Restore-ADObject, aby odzyskać usunięte obiekty na jednym poziomie hierarchii.
Jeśli nie znasz oryginalnej hierarchii, musisz ją zidentyfikować przed rozpoczęciem procesu przywracania.
Przykładowo jeśli chcesz znaleźć hierarchię konta użytkownika Emma, polecenie cmdlet programu PowerShell musi być skonstruowane tak, aby zwracany był atrybut lastKnownParent konta Emma.
Get-ADObject -SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -ldapFilter:"(msDs-lastKnownRDN=Emma)" –IncludeDeletedObjects –Properties lastKnownParent

W danych wyjściowych zwracanych przez to polecenie cmdlet wartość lastKnownParent dla konta Emma to HR_Department. Można również zauważyć, że nazwa wyróżniająca jednostki organizacyjnej HR_Department jest zmieniona, co wskazuje, że sam obiekt jednostki organizacyjnej HR_Department został usunięty.
Oto przykład zmienionej nazwy wyróżniającej:
OU=HR_Department\0ADEL:d662511-4bde-b24e-f665bfa96e7b,CN=Deleted Objects,DC=validate4,DC=com
Następnie należy wyszukać wszystkie obiekty w kontenerze Obiekty usunięte, których wartość lastKnownParent to HR_Department.
Get-ADObject –SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -Filter {lastKnownParent -eq 'OU=HR_Department\\0ADEL:d662511-4bde-b24e-f665bfa96e7b,CN=Deleted Objects,DC=example,DC=com'} -IncludeDeletedObjects -Properties lastKnownParent | ft

W danych wyjściowych zwracanych przez to polecenie cmdlet można zauważyć, że jednostka organizacyjna to Menedżerowie. Teraz należy wyszukać wszystkie usunięte obiekty, które znajdowały się w jednostce organizacyjnej Menedżerowie. Obiekty w jednostce organizacyjnej Menedżerowie będą zawierać atrybut lastKnownParent równy Menedżerowie.
Get-ADObject –SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -Filter {lastKnownParent -eq 'OU=Managers\\0ADEL:83fb259c-b3f6-452f-a423-37f7fb11e0d0,CN=Deleted Objects,DC= validate4,DC=com'} -IncludeDeletedObjects -Properties lastKnownParent | ft

W danych wyjściowych wyświetlanych przez to polecenie cmdlet widoczne będzie tylko konto użytkownika Harry i żadne inne obiekty w jednostce organizacyjnej. Masz teraz listę wszystkich usuniętych obiektów i możesz rozpocząć ich przywracanie. Jednostka organizacyjna HR_Department jest obiektem na szczycie hierarchii, dlatego musi zostać przywrócona jako pierwsza. Ponieważ wszystkie poprzednie kroki postępowania zostały wykonane przy użyciu atrybutu lastKnownParent – który wskazuje bezpośredni element nadrzędny obiektu i nie wskazuje, czy następny obiekt nadrzędny jest również usuwany – administratorzy mogą zweryfikować, czy wartość lastKnownParent dla HR_Department jest rzeczywiście aktywną jednostką organizacyjną, uruchamiając następujące polecenie:
Get-ADObject -SearchBase "CN=Deleted Objects,DC= validate4,DC=com"
-ldapFilter:"(msDs-lastKnownRDN=HR_Department)" –IncludeDeletedObjects –Properties lastKnownParent

W ten sposób postępowanie jest zakończone i można teraz przywrócić jednostkę organizacyjną HR_Department do jej pierwotnej hierarchii i stanu.
Aby przywrócić jednostkę organizacyjną HR_Department przy użyciu programu PowerShell, należy wykonać następujące operacje na kontrolerze domeny.
Get-ADObject -ldapFilter:"(msDS-LastKnownRDN=HR_Department)" –IncludeDeletedObjects | Restore-ADObject

Get-ADObject -SearchBase "CN=Deleted Objects,DC= validate4,DC=com" -Filter {lastKnownParent -eq 'OU=HR_Department,DC= validate4,DC=com'} -IncludeDeletedObjects | Restore-ADObject

Get-ADObject -SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -Filter {lastKnownParent -eq 'OU=Admins,OU=HR_Department,DC=validate4,DC=com'} -IncludeDeletedObjects | Restore-ADObject

30 dni bezpłatnie
Uwaga: Podczas przywracania obiektów znajdujących się w jednostce organizacyjnej należy upewnić się, że podana nazwa wyróżniająca zawiera nazwę jej nadrzędnej jednostki organizacyjnej. Przykładowo jeśli przywracasz użytkownika Emma Roberts, nazwą wyróżniającą powinno być CN=Emma Roberts,CN=HR,DC=Terminator,DC=com. Jeśli nadrzędna jednostka organizacyjna nie jest wymieniona, obiekt użytkownika zostanie przywrócony do domeny katalogu głównego i trzeba będzie ręcznie przenieść go do jednostki organizacyjnej HR.
Aby przywrócić usunięte jednostki organizacyjne za pomocą Centrum administracyjnego,
Przywracanie musi być wykonywane hierarchicznie, a każdy obiekt użytkownika zostanie przywrócony do jednostki organizacyjnej, w której znajdował się przed usunięciem. Przywrócone zostaną wszystkie atrybuty wraz z informacjami o członkostwie w grupie.
Z powyższych przykładów wynika, że chociaż PowerShell, narzędzie LDP i Centrum administracyjne usługi Active Directory mogą być używane do przywracania usuniętych jednostek organizacyjnych, proces ich przywracania nie zawsze jest prosty.
Wszystkie trzy narzędzia natywne mają kilka wspólnych wad
1. Brak możliwości hierarchicznego przywracania.
2. Natywny Kosz usługi AD musi być włączony, a ustawienie dużej wartości dla atrybutu okresu istnienia reliktu może zwiększyć rozmiar drzewa informacji katalogu (DIT).
Ponadto odzyskiwanie zagnieżdżonych jednostek organizacyjnych przy użyciu PowerShell i narzędzia LDP obejmuje wiele czynności, co zwiększa złożoność, jeśli liczba obiektów zawartych w jednostce organizacyjnej jest duża.
RecoveryManager Plus pozwala przezwyciężyć wszystkie niedociągnięcia narzędzi natywnych, jednocześnie dodając więcej wartości pod względem innych możliwości.
Odnosząc się do powyższego przypadku, poniższa sekcja wyjaśni, w jaki sposób RecoveryManager Plus może być użyty do przywrócenia wszystkich usuniętych obiektów.
W przeciwieństwie do narzędzi natywnych, które wymagają przywracania obiektów z najwyższego poziomu hierarchii, RecoveryManager Plus umożliwia przywrócenie dowolnego obiektu niezależnie od jego oryginalnej hierarchii. Gdy obiekt i jego kontener nadrzędny zostaną usunięte, przywrócenie usuniętego obiektu automatycznie przywraca również kontener nadrzędny, eliminując potrzebę indywidualnego przywracania kontenerów.
RecoveryManager Plus umożliwia przywracanie obiektów ze wszystkimi atrybutami w stanie nienaruszonym, nawet jeśli natywny Kosz nie jest włączony. Jest to możliwe, ponieważ RecoveryManager Plus ma własną funkcję Kosza. Można tu znaleźć wszystkie usunięte obiekty usługi AD, a nawet wyświetlić podgląd atrybutów, które zostaną przywrócone wraz z obiektem. Można również użyć dostępnych filtrów, aby ograniczyć wyniki wyszukiwania do wymaganego typu obiektu (użytkownik, jednostka organizacyjna, grupa itp.) lub wyszukać usunięty obiekt według nazwy.
Po usunięciu całej jednostki organizacyjnej HR_Department jednostkę organizacyjną i wszystkie jej obiekty składowe można znaleźć w Koszu RecoveryManager Plus.
Jeśli administrator zna oryginalną hierarchię usuniętej jednostki organizacyjnej, może wybrać tylko kontener nadrzędny i odzyskać go, co automatycznie przywróci wszystkie obiekty składowe jednostki organizacyjnej.

Poza przywracaniem usuniętych obiektów, RecoveryManager Plus jest wielofunkcyjnym narzędziem oferującym kilka funkcji, które sprawiają, że jest to niezbędne narzędzie dla administratorów, którzy chcą mieć pełną kontrolę nad zawartością swojej usługi AD.
| Funkcje | PowerShell | Narzędzie LDP | Centrum administracyjne usługi Active Directory | RecoveryManager Plus |
|---|---|---|---|---|
| Przywracanie aktywnych obiektów usługi AD do dowolnej wcześniejszych wersji | ||||
| Wycofywanie usługi AD | ||||
| Szczegółowe przywracanie obiektu zasad grupy |
Dowiedz się więcej o różnych funkcjach oferowanych przez RecoveryManager Plus.
Oceń RecoveryManager Plus, aby wypróbować funkcje, takie jak tworzenie kopii zapasowych i odzyskiwanie obiektów usługi AD. W razie potrzeby wersja próbna obejmuje wsparcie. Pobierz w pełni funkcjonalną, 30-dniową wersję próbną już dziś.