Restore deleted objects in AD
27 мая 2009 г.Были случаи когда Вы случайно удалили пользователя из Active Directory? :) Лично у меня да. Создавать новую учетную запись вариант не самый лучший. Мы попробуем ее восстановить. Нам понадобится ldp.exe из Windows Support Tools и немного знаний об объектах “Tombstone Objects”.
Что же происходит в AD когда мы удаляем объект? На самом беле объект не удаляется сразу, а перемещается в контейнер “Deleted Objects”. При этом у него меняется значение атрибута “distinguishedName” – после имени появляется флаг 0ADEL, появляется атрибут “isDeleted” значения которого True или False говорят о том что объект помечен на удаление, и в атрибут “whenChanged” проставляется время удаления объекта. После этого по контейнеру “Deleted Objects” проходится так называемый “Garbage Collector” (сборщик мусора) и проверяет не наступило ли время захоронения объекта. И если это так - то объект удалится навсегда. Время захоронения в днях определяется атрибутом “tombstoneLifetime” объекта “CN=Directory Service, CN=Windows NT, CN=Services, CN=Configuration, DC=ForestRoot Domain Name” по умолчания он принимает значение:
- 180 дней если контролер домена расположен на Windows Server 2003 с Service Pack 1 (SP1), Windows Server 2003 с Service Pack 2 (SP2), Windows Server 2008, Windows Server 2008 R2
- 60 дней если контролер домена расположен на Windows 2000 Server, Windows Server 2003, Windows Server 2003 R2
И так присоединяемся к контролеру домена используя утилиту ldp.exe. Чтобы нам увидеть контейнер “Deleted Objects” делаем следующие:
- в меню Options выбираем команду Controls
- окне в поле Load Predefined из ниспадающего списка выбираем Return deleted objects
Затем окне Tree view в поле BaseDN выбираем корень леса и ищем контейнер CN=Deleted Objects, находи объект который мы хоти восстановить.
Теперь самое интересное:
Правым кликом вызываем контекстное меню, выбираем в нем пункт Modify.
- в разделе Edit Entry, в поле Attribute вводим “isDeleted”, в панели Operation выбираем Delete, затем жмем Enter.
- в разделе Edit Entry, в поле Attribute вводим имя атрибута “distiguishedName” в поле Values вводим значение атрибута “CN” который был до удаления плюс значение атрибута “lastKnownParent”
- в разделе Operation, выбираем – Replace, жмем Enter
- выбираем флаги Synchronous и Extended нажимаем кнопку Run
Вызываем оснастку dsa.msc, переходив в контейнер который был указан в атрибуте “lastKnownParent”. Включаем учетную запись и получаем сообщение:
Значит нужно изменить сначала пароль, а затем включить учетную запись.
Материалы по восстановлению объектов в AD можно почитать на TechNet MSDN