Что представляет собой корзина Active Directory (AD) в Windows Server 2008 R2?

В Windows Server 2008 R2 появилось несколько новых компонентов AD, и корзина AD — один из них. Обычно удаленный объект AD помечается «отметкой об удалении», и это состояние реплицируется на все контроллеры домена (DC). По истечении срока существования «отметки об удалении» объект окончательно удаляется процессом «сбора мусора». После удаления объекта большинство его атрибутов удаляется, как и все связанные значения атрибутов, в том числе членство в группах. Чтобы восстановить удаленный объект, можно загрузить контроллер домена в режиме Directory Services Restore Mode (DSRM), восстановить резервную копию, а затем отметить объект (или объекты) как полномочный. Альтернативный подход — реанимировать объект, удалив состояние «отметки об удалении», после чего объект вновь становится доступным. Однако реанимированный объект теряет членство во всех группах и большинство атрибутов (но сохраняет идентификатор SID).

В Windows Server 2008 R2 можно активизировать корзину. Для корзины необходимо, чтобы лес был в режиме Windows Server 2008 R2, поэтому каждый контроллер в лесу должен работать на Windows Server 2008 R2. Кроме того, однажды активизированную корзину нельзя отключить.

После включения корзины меняется цикл существования удаленного объекта. После удаления объекта ни один из его атрибутов или связанных значений атрибутов не удаляется, имя чуть изменяется, атрибуту isDeleted назначается значение TRUE и объект перемещается в контейнер Deleted Objects. Объект остается в этом состоянии в течение времени, заданного в параметре msDS-deletedObjectLifetime, которое по умолчанию такое же, как продолжительность tombstoneLifetime (180 дней). После того как время жизни удаленного объекта истекает, он переходит в утилизированное (recycled) состояние. В этом состоянии его атрибуту isRecycled присваивается значение TRUE, связанные значения атрибутов удаляются (группы и др.), наряду с большинством обычных атрибутов, так же, как в отсутствие корзины. Объект, переведенный в это состояние, невозможно восстановить никакими способами, и он физически удаляется сборщиком «мусора» по истечении срока в tomestoneLifetime.

Пока объект находится в состоянии Deleted, его можно восстановить без потери атрибутов или членства в группах с помощью команды PowerShell или инструмента Ldp. Цикл операций корзины показан на рисунке.

Обратите внимание, что при активизации корзины любой ранее захороненный объект становится утилизированным и не может быть восстановлен.

Как включить корзину Active Directory (AD)?

После того, как уровень леса повышен до Windows Server 2008 R2, необходимо использовать команду Enable-ADOptionalFeature, чтобы включить корзину для леса. Помните, что однажды включенную корзину нельзя отключить, поэтому тщательно взвесьте, действительно ли нужен этот компонент.

Формат команды показан ниже:

Enable-ADOptionalFeature -Identity 'CN=Recycle Bin

 Feature,CN=Optional

 Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=

 Configuration,&

 lt;имя леса, DC=domain, DC=net/com>' -Scope

 ForestOrConfigurationSet -Target '<имя DNS леса>'

Можно проверить, включена ли корзина, просмотрев компоненты AD:

PS C:> Get-ADOptionalFeature -filter {name -like "*"}DistinguishedName :

 CN=Recycle Bin Feature,CN=Optional

 Features,CN=Directory Service,CN=Windows

 NT,CN=Services,CN=Configuration,DC=savilltech,

 DC=net

EnabledScopes: {}

FeatureGUID: 766ddcd8-acd0-445e-f3b9-a7f9b6744f2a

FeatureScope: {ForestOrConfigurationSet}

IsDisableable: False

Name: Recycle Bin Feature

ObjectClass: msDS-OptionalFeature

ObjectGUID: 3a54f214-699d-4231-a836-3d34a7720d40

RequiredDomainMode :

RequiredForestMode: Windows2008R2Forest

В приведенных выше результатах вывода видно, что для корзины нет активных областей, значит, она не включена. Включаем этот компонент:

PS C:> Enable-ADOptionalFeature -Identity

'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory

Service,CN=Windows NT,CN=Services,CN=Configuration,

DC=savilltech,DC=net' -Scope ForestOrConfigurationSet

-Target 'savilltech.net'

WARNING: Enabling 'Recycle Bin Feature' on

'CN=Partitions,CN=Configuration,DC=savilltech,DC=net'

is an irreversible action! You will not be able to

disable 'Recycle Bin Feature' on 'CN=Partitions,

CN=Configuration,DC=savilltech,DC=net' if you proceed.

Confirm

Are you sure you want to perform this action?

Performing operation «Enable» on Target "Recycle Bin Feature".

[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help

(default is "Y"):y

Корзина включена. В этом можно убедиться, вновь проверив компоненты AD. Теперь у корзины есть включенные области.

PS C:> Get-ADOptionalFeature -filter {имя -такое как "*"}

DistinguishedName: CN=Recycle Bin Feature,CN=Optional

Features,CN=Directory Service,CN=Windows NT,CN=Services,

CN=Configuration,DC=savilltech,DC=net EnabledScopes :

{CN=NTDS Settings,CN=SAVDALDC01,CN=Servers,CN=Dallas,

CN=Sites,CN=Configuration,DC=savilltech,DC=net,

CN=Partitions,CN=Configuration,DC=savilltech,DC=net}

FeatureGUID: 766ddcd8-acd0-445e-f3b9-a7f9b6744f2a

FeatureScope: {ForestOrConfigurationSet}

IsDisableable: False

Name: Recycle Bin Feature

ObjectClass: msDS-OptionalFeature

ObjectGUID: 3a54f214-699d-4231-a836-3d34a7720d40

RequiredDomainMode :

RequiredForestMode: Windows2008R2Forest

Как можно просмотреть объекты Active Directory (AD) в удаленном состоянии после того, как активизирована корзина AD?

С помощью команды PowerShell Get-ADObject можно просматривать удаленные объекты, применив параметр -IncludeDeletedObjects.

Другой, более общий способ — использовать инструмент Ldp. Для просмотра удаленных объектов можно включить элемент управления Return deleted objects, доступный из меню Options — Controls (экран 1).

После того, как будет включен этот режим, можно перемещаться по дереву, соединяя, привязывая, а затем просматривая дерево с базовым различающимся именем домена. Как показано на экране 2, я могу увидеть удаленный объект в домене, атрибуту isDeleted которого присвоено значение TRUE. Обратите внимание, что имя users изменено.

Можно пойти дальше и разрешить возвращение утилизированных объектов в элементах управления Ldp. При этом будут отображаться утилизированные объекты, как показано на экране 3. В этом случае атрибуту isRecycled также присваивается значение TRUE, а количество атрибутов уменьшается.

Как восстановить объект из корзины Active Directory?

После активизации корзины можно восстанавливать помещенные в нее объекты в течение срока жизни удаленного объекта. Для восстановления объекта в удаленном состоянии (isDeleted TRUE) достаточно передать удаленный объект в команде Restore-ADObject. Самый простой способ передать объект — использовать команду Get-ADObject и параметр -IncludeDeletedObjects.

Например, если известно отображаемое имя объекта Dick Grayson, то можно использовать приведенную ниже команду.

PS C:Userssavadmin> Get-ADObject -Filter {displayName-eq "Dick Grayson"} -IncludeDeletedObjects |

Restore-ADObject

Как показано на экране 4, сначала используется Get-ADObject, чтобы просто просмотреть объект. Видно, что его атрибут Deleted имеет значение True. Затем объект передается в Restore-ADObject для восстановления. После этого объект просматривается вновь, и атрибут Deleted пуст, то есть объект восстановлен. В этом примере имя объекта AFRBEnabled (After Recycle Bin Enabled).

Существует ли графическая утилита для доступа к корзине Active Directory операционной системы Windows Server 2008 R2?

Компания Overall Solutions подготовила графический интерфейс для корзины AD.

Утилита, показанная на экране 5, представляет собой единый исполняемый файл, который пользователь должен загрузить, а потом запустить. Нажмите кнопку Load Deleted Objects, и утилита выполнит поиск удаленных объектов, а затем покажет результаты. Выберите объекты для восстановления и нажмите кнопку Restore Checked Objects. На мой взгляд, инструмент функционирует превосходно.

Будет ли автоматически включена корзина Active Directory (AD), если создать новый лес Windows Server 2008 R2 и выбрать режим Windows Server 2008 R2 Forest?

Нет. Дополнительные компоненты никогда не включаются автоматически. Корзину необходимо активизировать вручную, с помощью команды Enable-ADOptionalFeature или инструмента LDP.

Джон Сэвилл (jsavill@windowsitpro.com) — директор по технической инфраструктуре компании Geniant, имеет сертификаты CISSP, Security and Messaging MCSE для Windows Server 2003 и звание MVP