Вслучае непреднамеренного удаления учетной записи пользователя из каталога Active Directory (AD) администратора поначалу может охватить паника. Что будет с этой учетной записью? Как восстановить объект «пользователь»? И как быть с соединением между почтовым ящиком и удаленным пользователем? Для ответа на эти вопросы лучше всего вооружиться логикой.

В логике условным предложением называется составное предложение, состоящее из двух предложений (или фактов), объединенных с помощью конструкции «если — то» (If — Then). Таким образом, мы должны знать, в чем состоит эта реакция «то» для каждого события «если», которое может произойти в нашей сети.

Например, если учетная запись некого пользователя по неосторожности удаляется из AD и если вы работаете с системой Windows Server 2008 R2 с функциональным уровнем леса Server 2008 R2, а также с активированной корзиной AD Recycle Bin, то вы будете восстанавливать эту учетную запись средствами Windows PowerShell с помощью команды Restore-ADObject. Последний пункт я хочу разъяснить подробнее.

Корзина AD Recycle Bin позволяет восстанавливать удаленный объект «пользователь» с помощью PowerShell или инструмента LDP. Далее речь пойдет, прежде всего, о контроллерах доменов (DC) Server 2008 R2, а также о серверах почтовых ящиков Exchange 2007, используемых на обычных серверах Server 2008/Windows Server 2003, хотя изложенные в статье положения применимы и к серверам Exchange 2010, работающим на системах Server 2008 либо Server 2008 R2.

Единственная часть процесса, подвергшаяся изменениям со времени выхода в свет системы Exchange 2000, — это компонент восстановления.

При работе с системами Exchange 2000 и Exchange 2003 в случае удаления учетной записи пользователя вместе с ней удаляется и его почтовый ящик. Точнее говоря, ящик не удаляется безвозвратно, а просто помечается для удаления и сохраняется в течение периода, на протяжении которого отмеченные почтовые ящики должны храниться в системе. По истечении указанного срока почтовый ящик удаляется. И хотя почтовый ящик получает отметку «удалить», его можно восстановить с помощью агента очистки в хранилище почтовых ящиков.

Используя корзину AD Recycle Bin, администратор может быстро восстанавливать учетные записи своих пользователей и вновь подключать их к почтовым ящикам за несколько секунд.

Функцию AD Recycle Bin необходимо прежде всего активировать для вашей организации. Но перед тем как заняться активацией, проследите за тем, чтобы на всех контроллерах доменов в лесу была установлена система Server 2008 R2, и не забудьте также повысить функциональный уровень леса до уровня Server 2008 R2. Подробнее о функции AD Recycle Bin в системе Server 2008 R2, а также о том, как активировать ее и как восстанавливать удаленные объекты, рассказано во врезке «Часто задаваемые вопросы о корзине AD».

Для активации корзины AD Recycle Bin откройте командное окно PowerShell и выполните команду Enable-ADOptionalFeature (см. также статью Microsoft «Step 1: Enable Active Directory Recycle Bin» (http://technet.microsoft.com/en-us/library/dd379481%28WS.10%29.aspx)).

После активации Recycle Bin для AD у вас появится возможность восстановления всех удаленных элементов. Корзина выполнит операцию поиска объекта, атрибут IsDeleted которого имеет значение True, и далее всякий объект с такой настройкой можно будет восстановить.

Диагностика

Имейте в виду, что проблему можно рассматривать с двух сторон — со стороны AD и со стороны Exchange. Так вот, во многих малых и средних организациях эти два аспекта объединяются, и за ними присматривает небольшая группа сотрудников, располагающих разрешениями и доступом к обеим системам.

Но в более крупных компаниях к процессу могут быть привлечены две отдельные группы сотрудников. В этом случае для восстановления учетной записи пользователя и возобновления подключения этого пользователя к его почтовому ящику требуется взаимодействие членов этих групп.

Чтобы понять суть процесса диагностики проблем, связанных с удаленной учетной записью пользователя и/или удаленным почтовым ящиком, необходимо учитывать несколько обстоятельств. Для функционирования пользовательского почтового ящика требуется три вещи:

  1. Должен существовать (или быть сформирован в процессе создания почтового ящика) объект «пользователь», к которому будут присоединены (или назначены) атрибуты почтового ящика Exchange.
  2. Атрибуты Exchange привязываются к объекту «пользователь».
  3. Пользователь должен либо зарегистрироваться для доступа к этому почтовому ящику, либо получать письма, поступающие в него. При создании почтового ящика атрибуты Exchange добавляются к объекту «пользователь» в AD; однако ассоциированные данные почтового ящика не добавляются до тех пор, пока пользователь не зарегистрируется или не начнет получать почту.

Для восстановления учетной записи пользователя с помощью команд Get-ADObject нужно работать в среде Server 2008 R2 или Windows 7, обязательной для набора инструментов удаленного администрирования сервера RSAT (Remote Server Administration Tools), так как модуль AD для PowerShell является частью новых средств Server 2008 R2 и может устанавливаться только на системах Server 2008 R2 или Windows 7.

Средства RSAT дают возможность управлять ролями и функциями, установленными на компьютерах, которые функционируют под Server 2008, Windows 2003 и Server 2008 R2. Эти средства можно получить на сайте загрузки Microsoft (http://www.microsoft.com/downloads/details.aspx? displaylang=en&FamilyID=7d2f6ad7-656b-4313‑a005-4e344e43997d).

Теперь давайте обратимся к тем предложениям «если — то», о которых я упоминал в начале статьи. В процессе диагностики проблемы каждому предложению «если» должно соответствовать предложение «то».

Что происходит в случае удаления учетной записи пользователя из AD с помощью консоли AD или оснастки Active Directory Users and Computers? Остается ли его почтовый ящик в контейнере получателей? А может быть, он переносится в раздел Disconnected Mailbox? Или теряется навсегда?

В случае удаления учетной записи пользователя почтовый ящик удаляется вместе с ней. Для восстановления обоих объектов нужно использовать команды AD Recycle Bin и PowerShell, а при восстановлении учетной записи пользователя автоматически восстанавливается и его почтовый ящик.

Итак, пусть учетная запись пользователя с именем Logan Smith удалена с консоли Active Directory Users and Computers. В этом случае нужно открыть окно командной строки PowerShell на контроллере домена и ввести с клавиатуры:

Get-ADObject -Filter

{displayName -eq "Logan Smith"}

-IncludeDeletedObjects |

Restore -ADObject

Результат: объект «пользователь» восстановлен. Кроме того, в контейнере Recipients системы Exchange восстановлен почтовый ящик этого пользователя. Два объекта восстановлены в ходе одной операции.

Говоря о данной процедуре восстановления, я имею в виду только серверную сторону систем Server 2008 и Server 2008 R2. У вас могут быть серверы устаревших версий, но я, как правило, имею в виду системы Exchange 2007 и Exchange 2010.

Что произойдет, если вы щелкните правой кнопкой мыши внутри контейнера Recipients и в меню выберете пункт Disable? Почтовый ящик будет перемещен в раздел Disconnected Mailboxes. Это действие не приводит к удалению объектов из базы данных почтовых ящиков; просто почтовый ящик переводится в безопасное неопределенное состояние.

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

Что произойдет, если вы отключите почтовый ящик, а затем удалите учетную запись пользователя, которая была связана с ним? Ящик будет сохранен на протяжении периода, установленного для сохранения отмеченных к удалению почтовых ящиков.

Вы можете создать новую учетную запись пользователя и ассоциировать почтовый ящик с этой новой учетной записью (или с существующей, не связанной с каким-либо почтовым ящиком). Вы также можете с помощью корзины AD Recycle Bin восстановить удаленную учетную запись пользователя.

Но основная проблема в том, чтобы вновь ассоциировать этот почтовый ящик с учетной записью пользователя, которая была удалена. Процесс не будет запущен автоматически, как бывает, когда вы удаляете учетную запись пользователя, а почтовый ящик в это время остается связанным с данной учетной записью.

Таким образом, вы выполнили двухшаговую операцию: сначала восстановили объект «пользователь», а затем вновь ассоциировали почтовый ящик с его учетной записью.

Что если вы щелкнете на почтовом ящике правой кнопкой мыши и в контекстном меню выберете пункт Remove? Вы получите предупреждение о том, что объект «пользователь» будет удален, а почтовый ящик будет помечен для удаления. Здесь мы видим, что наши рассуждения вступают в противоречие.

Учетная запись пользователя будет удалена из AD. Почтовый ящик будет помещен в раздел Disconnected Mailboxes.

Однако в данном случае восстановление учетной записи пользователя не ведет автоматически к восстановлению почтового ящика, как это было, когда мы удаляли учетную запись пользователя с помощью консоли AD. Восстановление учетной записи пользователя из корзины Recycle Bin приведет только к восстановлению этой записи. Вам все еще придется устанавливать ассоциацию почтового ящика с данной учетной записью, если в этом состоит ваша задача.

Обзор вариантов

Предложенное упражнение было предназначено для того, чтобы вооружить вас всеми необходимыми фактами для решения на логическом уровне проблем, возникающих при удалении объектов. Вам остается только расположить эти факты в простых конструкциях «если — то».

  • Если пользователь AD имеет функционирующий почтовый ящик (то есть пользователь регистрировался в нем или получал письма) и если учетная запись данного пользователя удаляется с помощью инструментальных средств AD, тогда почтовый ящик исчезает вместе с учетной записью пользователя. Оба объекта будут восстановлены, когда вы воспользуетесь корзиной AD Recycle Bin.
  • Если почтовый ящик пользователя перед удалением был отключен, тогда он перемещается в контейнер Disconnected Mailbox. Почтовый ящик может быть вновь ассоциирован со своим пользователем, когда учетная запись последнего будет восстановлена с помощью корзины Recycle Bin; его можно также ассоциировать с другим существующим или вновь созданным объектом «пользователь», который в данный момент не связан с каким-либо почтовым ящиком.
  • Если почтовый ящик удаляется из консоли управления Exchange, объект «пользователь» будет удален сразу, а почтовый ящик будет добавлен к другим объектам «отключенные почтовые ящики» в Disconnected Mailbox. После восстановления учетной записи повторное подключение почтового ящика придется осуществлять вручную.

Если вы используете небольшую сеть и являетесь единственным администратором, управляющим всеми ее компонентами, можете принять во внимание все эти факты и составить план действий в зависимости от обстоятельств.

Если же вы эксплуатируете сеть гораздо больших размеров, к обслуживанию которой привлечены отдельные группы специалистов по AD и Exchange, то вам понятно, что сначала нужно определить временную шкалу перехода на систему Server 2008 R2 и убедиться, что специалисты по службе AD понимают важность активации корзины Recycle Bin, а специалисты по AD знают, как восстанавливать учетные записи пользователей средствами PowerShell.

Если вы непреднамеренно удалили объект «пользователь» и полагаете, что для его восстановления достаточно в этот момент активировать корзину, вас ждет разочарование. Когда вы активируете корзину AD Recycle Bin, все уже удаленные объекты могут быть восстановлены только методом принудительного восстановления с копии каталога AD, снятой до развертывания корзины AD Recycle Bin.

В то же время две группы сотрудников должны взаимодействовать для исключения такой ситуации, когда учетная запись пользователя удаляется из AD перед ее отключением от почтового ящика пользователя администраторами Exchange (если речь идет о сети, в которой почтовый ящик ассоциируется с другим пользователем или сохраняется в течение определенного времени в статусе отключенного).

Кроме того, администраторы Exchange должны знать, как и когда восстанавливать отключенные почтовые ящики для восстановленных, вновь созданных или существующих учетных записей пользователей.

С течением времени срок жизни объектов AD неумолимо приближается к концу. Если объекты не восстанавливаются до завершения данного срока, после его истечения они удаляются навсегда.

Принимаемый по умолчанию срок жизни IsDeleted в точности такой же, как время жизни отметки на полное удаление, которое истекает, если функция Recycle Bin не активирована; по умолчанию этот срок составляет 180 дней.

Восстановление объектов AD на этом уровне — совсем другое дело. То же касается и времени хранения почтовых ящиков. По истечении соответствующего периода почтовый ящик не подлежит восстановлению без помощи средства резервного копирования. На рынке представлено множество решений от сторонних производителей.

Один из недостатков Server 2008 состоит в том, что разработчики продукта не сохранили в нем встроенного средства резервного копирования для Exchange. Ведь в версии Exchange 2007 SP2 имеется функция, почти устраняющая проблему, но она дает возможность резервировать только сам том.

Поэтому, если вы хотите иметь возможность более точного и детализированного выполнения задач резервного копирования для почтовых ящиков, следует рассмотреть варианты за пределами того, что предлагает версия Server 2008 или Exchange.

В частности, подумайте о приобретении диспетчера System Center Data Protection Manager и, возможно, о восстановлении базы данных из резервной группы хранения или из резервной базы данных. Тогда вы сможете восстановить утраченный почтовый ящик.

Можно также воспользоваться другим решением, обеспечивающим немедленное восстановление почтового ящика, — в частности, продуктами Mimosa NearPoint for Exchange или CommVault Simpana. Во врезке «Бесплатно распространяемая программа ADRecycle Bin» описывается инструмент, который тоже может пригодиться. Но вне зависимости от того, на какой программе для восстановления данных вы остановите свой выбор, вам будет полезно начать с проработки описанных сценариев «если — то».

С помощью логических рассуждений, а также функции AD Recycle Bin и контейнера Disconnected Mailbox вы сможете избежать всех трудностей, связанных с восстановлением данных с резервной копии.

Дж. Питер Браззис (jpb@cliptraining.com) — инструктор, консультант и технический писатель в компании ClipTraining.com. Имеет сертификаты MCSE, MCT и MCITP Messaging 

Бесплатно распространяемая программа AD Recycle Bin 

На реализацию в системе Server 2008 R2 средства AD Recycle Bin ушло немало времени, но во многих отношениях это нововведение вызывает разочарование. Во‑первых, этот модуль не устанавливается по умолчанию. Во‑вторых, он управляется с помощью командной строки. Наконец, он имеется только в системе Windows Server 2008 R2.

Хочу представить альтернативное решение, которое, кстати сказать, распространяется бесплатно. Компания Overall Solutions разработала инструментальное средство ADRecycleBin, имеющее графический интерфейс пользователя. Эта программа взаимодействует с функцией Recycle Bin в R2, но оно может возвращать к жизни объекты, если вы работаете с более ранней версией AD или просто не можете повысить функциональный уровень леса.

В сущности, этот продукт находит отметки полного удаления и представляет их пользователю в ответ на щелчок мышью с целью восстановления этих объектов. Продукт не обязательно устанавливать до момента удаления; он осуществляет поиск объектов с атрибутом IsDeleted для сбора информации и графическое представление имеющихся отметок на полное удаление. Данный инструмент можно найти на сайте компании Overall Solutions.