четверг, 2 сентября 2010 г.

Восстановление удаленных объектов AD в Windows 2008 (Recycle Bin)

Статья взята из Blog of Khlebalin Dmitriy

В Windows Server 2008 R2 появилось очень много новых возможностей, одной из которых является корзина 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 выбираем CN=Configuration,DC=net,DC=local. Раскрываем CN=Configuration…. переходим к CN=Partitions…, нажимаем правой кнопкой по CN=Partitions… и выбираем Modify. Очищаем поле DN, в строке Attribute пишем: enableOptionalFeature, в строке Values пишем 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 и пишем:

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: distignuishedName, в поле Values пишем: 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:

Get-ADObject -Filter {sAMAccountName -eq «robot»} -IncludeDeletedObjects | Restore-ADObject
Здесь я задал фильтр, чтобы укзать что я хочу восстановить только объект, который имеет атрибут sAMAccountName: robot. В общем, одна такая простая строчка, и объект полностью восстановлен!

Естественно, что использование PowerShell намного удобнее и предпочтительнее, чем восстановление при помощи ldp.exe.

Всем удачи!

Комментариев нет:

Отправить комментарий