Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Windows Server 2003 Администрирование Аварийное восстановление пользователей и групп службы каталогов Active Directory RSS

Аварийное восстановление пользователей и групп службы каталогов Active Directory

Текущий рейтинг: 3.94 (проголосовало 16)
 Посетителей: 28125 | Просмотров: 43631 (сегодня 1)  Шрифт: - +


Выполнение неполномочного восстановления

Восстановление удаленных объектов Active Directory из резервной копии идет в две стадии. Сначала контроллер домена перезагружается в режиме восстановления службы каталога, затем выполняется восстановление информационного дерева каталога Active Directory целиком с помощью служебной программы Windows NTBACKUP или аналогичной сторонней программы. При этом информационное дерево каталога полностью переписывается.

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

При удаленном управлении сервером меню загрузки Windows недоступно. Вместо этого можно изменить параметры загрузки системы, выбрав пункт «Настройка» в разделе «Мой компьютер», щелкнув вкладку «Дополнительно» и нажав кнопку «Параметры ниже надписи «Загрузка и восстановление». Нажмите кнопку «Правка» в разделе «Загрузка операционной системы» для внесения изменений в файл boot.ini, добавьте аргумент /SAFE­BOOT:DSREPAIR к концу строки, как показано на рис. 3. (Дополнительные сведения об аргументах файла boot.ini см. microsoft.com/technet/ sysinternals/information/bootini.mspx.)

Рис. 3 Настройка параметров загрузки для режима восстановления службы каталога
Рис. 3 Настройка параметров загрузки для режима восстановления службы каталога

После перезагрузки сервера включится режим восстановления службы каталога. Помните, что нужно удалить аргумент /SAFEBOOT из файла boot.ini, если нужно перезагрузить контроллер домена в обычном режиме.

После входа в систему с паролем режима восстановления службы каталога восстановите состояние системы из резервной копии с помощью служебной программы NTBACKUP, но без каких-либо параметров. (Можно выполнить восстановление, набрав NTBACKUP в командной строке.) При появлении мастера выберите «Восстановление файлов и параметров» и нажмите кнопку «Далее». Выберите файл с резервной копией и проверьте состояние окна Состояние системы, как показано на рис. 4.

Рис. 4 Использование Мастера архивации и восстановления для восстановление состояния системы
Рис. 4 Использование Мастера архивации и восстановления для восстановление состояния системы

Если на этой стадии нужно загрузить контроллер домена в обычном режиме, процесс репликации Active Directory синхронизирует восстановленный контроллер с остальными контроллерами домена, и все восстановленные данные будут заменены на текущие. Разумеется, это не входило в ваши задачи. Вместо этого вам нужен способ принудительной репликации восстановленных данных на другие контроллеры домена.


Выполнение полномочного восстановления

NTDSUTIL также увеличивает номер версии каждого атрибута на 100 000 за каждый день промежутка между созданием архива и его восстановлением. Если не имеется атрибутов, которые меняются более 100 000 раз в день (очень маловероятно), номер версии восстановленных атрибутов будет значительно больше номера версии, хранящейся на других контроллерах домена. Полномочное восстановление реплицирует их на другие контроллеры. Другие объекты, которые были восстановлены из резервной копии неполномочно, будут обязательно заменены актуальными данными с других контроллеров домена.

После завершения неполномочного восстановления, но до перезагрузки используйте программу NTDSUTIL для выполнения полномочного восстановления объектов, которые хотите вернуть к первоначальному состоянию. Несмотря на название, полномочное восстановление объектов их не «восстанавливает», при этом Active Directory просто реплицирует объекты на другие контроллеры. Для этого NTDSUTIL присваивает следующий доступный USN локальному USN атрибутов объекта. Это приводит к тому, что объект будет отправлен для репликации партнерам при следующем сеансе синхронизации. Для восстановления единичного объекта убедитесь, что контроллер домена загружен в режиме восстановления службы каталога, и выполните следующие действия:

  1. Откройте окно командной строки и наберите:
    ntdsutil
    
  2. При появлении приглашения ntdsutil наберите:
    authoritative restore
    
  3. При появлении запроса на полномочное восстановление наберите:
    restore object “”
    
    Например, если нужно восстановить учетную запись Molly Clark в подразделении Eng домена DRNET, следует набрать:
    restore object “CN=Molly Clark,OU=Eng,DC=DRNET,DC=com”
    
    Если нужно полномочно восстановить все поддерево каталога, например подразделение, наберите вместо этого:
    restore subtree “OU=Eng,DC=DRNET,DC=com”
    
    В NTDSUTIL также имеется команда восстановления базы данных, которая полномочно восстанавливает весь домен, а также контексты именования конфигурации и схемы. Восстановление всего домена сопряжено с риском, и я не рекомендую использовать эту возможность. Если возникла необходимость восстановления всего домена, следует восстановить один контроллер домена и заново повысить роль остальных контроллеров домена, как описано на странице "Planning for Active Directory Forest Recovery",
  4. При появлении запроса подтвердите, что полномочное восстановление должно повысить номера версии соответствующих объектов и их атрибутов.
  5. Выйдите из программы ntdsutil (необходимо дважды набрать quit).
  6. Перезагрузите контроллер домена в обычном режиме Active Directory.

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

Прежде всего рассмотрим, что происходит при удалении объекта, имеющего ссылки назад. Например, вы удаляете объект, который входит в состав одной или нескольких групп. Каждый контроллер домена, имеющий копию объекта пользователя, преобразует его в захоронение и удалит все ссылки в таблице связей, тем самым удаляя объект пользователя из всех групп домена. (Помните, что удаление пользователя из членов группы не реплицируется, каждый DC обновляет членство в группах локально. Номер версии и локальный USN атрибута члена группы остается неизмененным.) Спустя короткое время фантомные объекты будут удалены из таблиц ссылок в других доменах, снова без обновления метаданных репликации атрибута членства в группе.

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

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


Ситуация: Членство в группах домена не восстановлено

Полномочное восстановление объекта пользователя не восстанавливает членство пользователя в группах. Собственно, почему? Потому, что отношения членства сохраняются и реплицируются при помощи атрибута члена объектов групп (ссылки вперед), а не атрибута memberOf пользователя (ссылки назад). Проблема состоит в том, чтобы найти членство пользователей в старой группе и, узнав это, правильно их восстановить.

Корпорация Майкрософт постоянно вносит улучшения в процесс восстановления членства в группах, поэтому используемая методика зависит от версии Active Directory. Следующие разделы прежде всего применимы для Windows 2000 Active Directory.

Определить членство пользователя в старых группах достаточно просто: посмотрите атрибут ссылки назад на восстановленном контроллере домена — в данном случае это атрибут memberOf объекта пользователя. Атрибут memberOf будет содержать все сведения о членстве в локальных и глобальных группах домена пользователя. Для составления списка членства пользователя в группах можно использовать оснастку «Active Directory – пользователи и компьютеры» (ADUC), или программу LDIFDE, которая включена в состав Windows Server.

Следующая команда LDIFDE выведет список групп домена DRNET, членом которых состоит Molly Clark, сохранив результат в файле output.ldf:

C:\> ldifde –r “(distinguishedName=CN=Molly Clark,
OU=Engineering,DC=DRNET,DC=Local)” –l memberOf –p Base –f output.ldf

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

REPADMIN /options +DISABLE_INBOUND_REPL

Здесь — имя восстанавливаемого контроллера домена. Не забудьте после окончания заново включить репликацию с помощью параметра -DISABLE_INBOUND_REPL.

Если восстанавливаются только некоторые пользователи, можно просто вручную добавить пользователя в группы с помощью ADUC. Для восстановления большого числа пользователей существуют средства, позволяющие автоматизировать некоторые процессы. Служебная программа Microsoft GROUPADD (доступна через службу поддержки Microsoft) может использовать созданный файл LDIF для просмотра членства пользователя в старых группах и, в свою очередь, для создания файла LDIF, который восстанавливает это членство. Например, можно использовать команду GROUPADD для обработки файла LDIF, ранее созданного для пользователя Molly Clark:

C:\> groupadd /after_restore output.ldf

Эта команда создаст новый файл LDIF для каждого домена, в группы которого входит Molly Clark с именем groupadd_.ldf (где — полное доменное имя (FQDN) домена, в котором будут обновлены группы). Импортировать ранее созданный файл LDIF можно при помощи следующей команды:

C:\> ldifde –i –k –f groupadd_child.drnet.net.ldf

С выходом Windows Server 2003 корпорация Microsoft улучшила NTDSUTIL, добавив преимущества дополнительных метаданных, присутствующих в атрибуте членства для поддержки репликации связанных значений (LVR). Если восстанавливаемый объект пользователя являлся членом любых групп домена, а членство пользователя хранилось с метаданными LVR, служебная программа NTDSUTIL увеличивает номер версии соответствующего значения атрибута пользователя, что приводит к репликации восстановленного членства.

Служебная программа NTDSUTIL в составе Windows Server 2003 SP1 объединена с функциями GROUPADD и автоматически будет создавать файлы LDIF при полномочном восстановлении объекта пользователя. На рис. 5 показана новая версия NTDSUTIL, а на рис. 6 - содержимое автоматически созданного файла LDIF.

Рис. 5 Новая служебная программа NTDSUTIL со встроенными функциями GROUPADD
Рис. 5 Новая служебная программа NTDSUTIL со встроенными функциями GROUPADD

Рис 6  Содержание файла LDIF, созданного программой NTDSUTIL

dn: CN=EngDL,OU=Eng Groups,DC=drnet,DC=local
changetype: modify
delete: member
member: CN=Molly Clark,OU=Eng,DC=drnet,DC=local
-
dn: CN=EngDL,OU=Eng Groups,DC=drnet,DC=local
changetype: modify
add: member
member: CN=Molly Clark,OU=Eng,DC=drnet,DC=local
-
dn: CN=EngGG,OU=Eng Groups,DC=drnet,DC=local
changetype: modify
delete: member
member: CN=Molly Clark,OU=Eng,DC=drnet,DC=local
-
dn: CN=EngGG,OU=Eng Groups,DC=drnet,DC=local
changetype: modify
add: member
member: CN=Molly Clark,OU=Eng,DC=drnet,DC=local
-
dn: CN=EngUG,OU=Eng Groups,DC=drnet,DC=local
changetype: modify
delete: member
member: CN=Molly Clark,OU=Eng,DC=drnet,DC=local
-
dn: CN=EngUG,OU=Eng Groups,DC=drnet,DC=local
changetype: modify
add: member
member: CN=Molly Clark,OU=Eng,DC=drnet,DC=local

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

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

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


Ситуация: Членство в группах других доменов не восстановлено

Проблема «членом каких групп является пользователь» на самом деле более сложная, чем я описал. Восстанавливаемый пользователь может быть членом локального домена и универсальных групп других доменов. Членство в этих группах не будет восстановлено при неполномочном восстановлении. Как узнать, в каких группах других доменов состоит пользователь? Ответ лежит в глобальном каталоге. Наряду с собственными данными о домене глобальный каталог содержит доступную только для чтения копию данных из других доменов леса.

Чтобы воспользоваться данными о лесе из глобального каталога, следует выполнить неполномочное восстановление в глобальном каталоге, что означает необходимость иметь архив глобального каталога. Теперь при запуске LDIFDE для определения членства пользователя в группах можно узнать о членстве пользователя в универсальных группах других доменов.

При просмотре членства в группах восстанавливаемого пользователя подключитесь к порту глобального каталога 3268 вместо стандартного 389 и выберите в качестве начала поиска корневой домен леса. LDIFDE покажет членство в группах восстанавливаемого пользователя, включая членство в универсальных группах всех доменов леса. Это делается следующим образом:

C:\> ldifde –r “(distinguishedName=CN=Don Clark,
OU=Engineering,DC=DRNET,DC=Local)” -t 3268 –l memberOf –p Base –f output.ldf

Если запустить программу GROUPADD или новую программу NTDSUTIL в глобальном каталоге, создается один файл LDIF для домена пользователя и один файл LDIF для каждого домена, в который восстанавливаемый пользователь был членом универсальной группы. При импорте этих файлов LDIF вы восстановите членство пользователя во всех группах. Или почти всех, как покажет рассмотрение следующей проблемы.


Ситуация: Восстановление членства в локальных группах других доменов

В среде Windows Active Directory существует три вида групп. Глобальные группы могут состоять только из членов своего домена, но которые могут использоваться как члены локальных групп того же домена или других доменов леса. Атрибут членства в глобальных группах не появляется в глобальном каталоге, но это не представляет проблемы, поскольку глобальные группы содержат только членов своего домена. Универсальные группы могут состоять из членов любого домена, которые могут выступать как члены других универсальных групп леса и локальных групп своего домена и других доменов леса. Атрибут членства в универсальных группах реплицируются в глобальные каталоги. Локальные группы домена могут состоять из членов любого домена леса, но которые не могут выступать как члены групп других доменов. Важнее то, что атрибут членства в локальных группах домена, как и в глобальных группах, не появляется в глобальном каталоге. В результате не существует простого способа восстановления членства пользователя в локальных группах других доменов.

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

В этом случае может помочь версия программы NTDSUTIL из Windows Server 2003 с пакетом обновления 1 (SP1). При запуске NTDSUTIL на контроллере домена создается текстовый файл, содержащий различающееся имя и идентификатор GUID восстановленных объектов пользователей. Затем для каждого внешнего домена можно неполномочно восстановить один контроллер домена, скопировать на него текстовый файл и запустить NTDSUTIL для создания нового файла LDIF для этого домена. Файл добавит восстановленного пользователя в локальные группы домена, членом которых он был ранее.

Для этого выполните следующие действия над контроллером домена в каждом внешнем домене:

  1. Загрузите контроллер внешнего домена в режиме восстановления службы каталога.
  2. С помощью программы NTBACKUP восстановите копию информационного дерева каталога, содержащую сведения о членстве в группах восстановленных пользователей.
  3. Скопируйте созданный NTDSUTIL TXT-файл на текущий контроллер домена.
  4. Откройте окно командной строки и наберите ntdsutil.
  5. Наберите authoritative restore (полномочное восстановление).
  6. Наберите create LDIF file(s) from (где имя текстового файла).
  7. Дважды наберите quit для выхода из программы ntdsutil.
  8. Перезагрузите контроллер домена в обычном режиме Active Directory.
  9. Наберите ldifde –i –f (где имя созданного только что файла LDIF).

Вы восстановили членство в группах всех удаленных пользователей.


Шаг за шагом

Восстановление пользователей Active Directory и их членства в группах, особенно в многодоменной среде — сложная задача. Конкретные действия, необходимые для правильного восстановления членства в группах, зависят от версии Windows.

При работе с Windows 2003 SP1 необходимы следующие действия:

  1. Загрузите глобальный каталог в режиме восстановления службы каталога и выполните восстановление состояния системы из архива, содержащего удаленных пользователей.
  2. С помощью программы NTDSUTIL выполните полномочное восстановление удаленного пользователя. NTDSUTIL создаст текстовый файл, содержащий различающееся имя и идентификатор GUID восстановленного объекта, и один или несколько файлов LDIF для восстановления членства пользователя в группах.
  3. Используйте команду LDIFDE –i –f (где имя файлов LDIF, созданных в шаге 2) для импорта членства в группах текущего и других доменов.
  4. Перезагрузите глобальный каталог в обычном режиме.
  5. В каждом внешнем домене загрузите какой-либо контроллер в режиме восстановления службы каталога и выполните восстановление состояния системы из архива, содержащего удаленных пользователей.
  6. Запустите программу NTDSUTIL с командой create ldif files (создать файлы ldif).
  7. Перезагрузите контроллер домена в обычном режиме.
  8. Используйте команду LDIFDE –i –f (где имя LDIF файла, созданного в шаге 6) для восстановления членства в группах внешнего домена.
  9. На этой стадии можно запустить репликацию командой REPADMIN /syncall.

Если запущена версия Windows Server 2003 без установленного пакета обновления 1 (SP1) или Windows 2000, необходимо выполнить ряд дополнительных действий. Поскольку более старая версия NTDSUTIL не создает файлы LDIF, используйте для их создания программу GROUPADD. Процедура выполняется так:

  1. Загрузите глобальный каталог в режиме восстановления службы каталога и выполните восстановление состояния системы из архива, содержащего удаленных пользователей.
  2. Отключите сетевую карту или отсоедините кабель для предотвращения входящей репликации.
  3. Перезагрузите глобальный каталог в обычном режиме.
  4. С помощью команды LDIFDE –r "(distinguishedName=)" -t 3268 -l memberOf –p Base -f membership.ldf создайте дамп членства пользователя с различающимся именем .
  5. Для создания файлов LDIF используйте команду GROUPADD /after_restore membership.ldf.
  6. Для импорта членства в группах текущего и других доменов используйте команду LDIFDE –i –f (где имя файла LDIF, созданного программой GROUPADD в шаге 5).
  7. Заново разрешите входящую репликацию с помощью команды REPADMIN /options -DISABLE_INBOUND_REPL.
  8. В каждом внешнем домене загрузите какой-либо контроллер в режиме восстановления службы каталога и выполните восстановление состояния системы из архива, содержащего удаленных пользователей.
  9. Перезагрузите контроллер домена в обычном режиме.
  10. С помощью команды LDIFDE –i –f (где имя файла LDIF , созданного программой GROUPADD в шаге 5) восстановите членство в группах внешнего домена.
  11. На этой стадии можно запустить репликацию командой REPADMIN /syncall.

Единственное, что остается сделать в среде, предшествующей Windows Server 2003 с пакетом обновления 1 (SP1), — восстановить членство в локальных группах внешнего домена восстановленного пользователя. Можно вручную только восстановить членство в локальных группах домена или восстановить контроллер домена из резервной копии и полномочно восстановить локальные группы домена.


Заключение

Несмотря на то, что из Active Directory легко можно случайно удалить пользователей или даже подразделения, правильное восстановление удаленных пользователей и их членства в группах может оказаться неожиданно сложной, длительной и подверженной ошибкам задачей. Для уверенности в том, что вы сможете преодолеть эти трудности максимально быстро, следует понимать механизмы связи объектов, репликации, удаления и полномочного восстановления.

Сможете ли вы правильно выполнить эти действия в вашем окружении с первой попытки? Для уверенности в том, что в следующий раз вы действительно сможете восстановить объект Генеральный директор, приготовьте письменный план восстановления удаленных объектов. И потренируйтесь в выполнении этого плана один-два раза перед тем, как испытывать его на реальных данных. Ваш босс (и ваш генеральный директор) оценят это по достоинству.

Дополнительные источники
Автор: Джил Киркпатрик (Gil Kirkpatrick)  •  Иcточник: TechNet Magazine  •  Опубликована: 11.04.2007
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.