Active Directory (Active Directory Recycle Bin).
Корзина Active Directory – это специальная функция/фича/возможность восстановления удалённых объектов. Теперь после удаления объекта из Active Directory, он не просто удаляется, а перемещается в специальный контейнер Deleted Objects (хотя и раньше объект не просто удалялся, но об этом ниже).
И если вы потом захотите восстановить объект, то это можно будет сделать, вытащив его из контейнера Deleted Objects.
Функция Корзины Active Directory работает только в режиме работы леса и домена Windows Server 2008 R2! И кроме того эта функция по умолчанию выключена.
Включаем корзину Active Directory.
>У меня домен зовется net.local, поэтому вы меняйте эти значения на свои.
Включить функцию корзины можно двумя способами, либо через ldp.exe либо при помощи командлетов PowerShell.
1) При помощи ldp.exe (входит в состав Support Tools).
Запускаем Ldp.exe. Затем нажимаем Connection>Connect, пишем localhost, порт 389.
Затем нажимаем View>Tree, в BaseDN выбираем
1 |
CN=Configuration,DC=net,DC=local |
Раскрываем CN=Configuration…. переходим к CN=Partitions…, нажимаем правой кнопкой по CN=Partitions… и выбираем Modify.
Очищаем поле DN, в строке Attribute пишем:
1 |
enableOptionalFeature |
в строке Values пишем
1 |
CN=Partitions,CN=Configuration,DC=net,DC=local:766ddcd8-acd0-445e-f3b9-a7f9b6744f2a |
выбираем Add и нажимаем Enter и потом Run.
2) При помощи PowerShell:
Запускаем Пуск\Administrative Tools\Active Directory Module for Windows PowerShell и пишем:
1 |
Enable-ADOptionalFeature –Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, DC=net,DC=local’ -Scope ForestOrConfigurationSet -Target ‘net.local’ |
Восстанавливаем удалённые объекты.
Способа восстановления удалённых объектов стандартными средствами два, при помощи ldp.exe или при помощи PowerShell.
В тестовых целях я создал пользователя «robot», включил его в группу Domain Admins, а затем удалил. Теперь будем пытаться его восстановить.
1) Восстанавливаем удалённые объекты при помощи ldp.exe:
Запускаем Ldp.exe. Затем нажимаем Connection>Connect, пишем localhost, порт 389.
Нажимаем Options>Controls, в меню Load Predefined выбираем Return deleted objects, жмём OK.
Затем нажимаем View>Tree, в BaseDN выбираем DC=net,DC=local.
Раскрываем корень DC=net,DC=local, и видим контейнер Deleted Objects, дважды по нему щелкаем и видим перечень удалённых объектов.
Я вижу здесь удалённого мной ранее пользователя robot. Чтобы его восстановить, я нажимаем по нему правой кнопкой и выбираем Modify.
Пишем в строке Attribute: isDeleted, ниже выбираем Delete, нажимаем кнопку Enter, затем пишем в поле Attribute:
1 |
distignuishedName |
в поле Values пишем:
1 |
CN=robot,CN=Users,DC=net,DC=local |
(это исходный DN пользователя). Если вы не знаете исходный ОГП пользователя, то его можно посмотреть в правом окне, он записан в атрибуте lastKnownParent.
Далее ставим обе галки Synchronous и Extended и жмём Run.
Всё! Теперь объект пользователя полностью восстановлен, в чем вы можете убедиться, открыв консоль Active Directory Users and Computers.
2) Восстанавливаем удалённые объекты при помощи PowerShell:
Для того, чтобы найти объекты, используется командлет Get-ADObject. Чтобы он искал и удалённые объекты, нужно использовать ключ -IncludeDeletedObjects. А для восстановления объектов используется командлет Restore-ADObject. Когда необходимо восстановить объект, или тем более несколько объектов, удобнее всего использовать перенаправление (pipeline) вывода командлета Get-ADObject на вход командлета Restore-ADObject:
1 |
Get-ADObject -Filter {sAMAccountName -eq «robot»} -IncludeDeletedObjects | Restore-ADObject |
Здесь я задал фильтр, чтобы укзать что я хочу восстановить только объект, который имеет атрибут sAMAccountName: robot. В общем, одна такая простая строчка, и объект полностью восстановлен!
Естественно, что использование PowerShell намного удобнее и предпочтительнее, чем восстановление при помощи ldp.exe.