Принудительная синхронизация контроллеров домена Active Directory

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

Проблема


Active Directory автоматически синхронизирует изменения, но… делает это не сразу, а с задержками в несколько минут. Эти задержки становятся весьма ощутимы, когда системный администратор вносит изменения в Active Directory, а потом тут же пытается увидеть эти изменения в клиентском приложении или в какой-нибудь утилите.

Примеры практических ситуаций, в которых задержка в синхронизации контроллеров домена мешает быстро выполнить задачу:

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

Дополнительные примеры вспомните сами из своей практики.

Теория


Синхронизация Active Directory – процесс полностью автоматический. Каждый контроллер домена с некоторой периодичностью “тянет” на себя изменения, произошедшие на его партнерах по репликации . Значит, чтобы изменения, внесенные на контроллере dc01, попали на dc02, требуется, чтобы dc02 был партнером по репликации с dc01 и затем запросил эти изменения у dc01.

Для принудительной синхронизации мы должны заставить dc02 запросить изменения с dc01, не дожидаясь очередного цикла репликации. А если контроллеров домена много, топология репликации неизвестна, да еще и мы не знаем, на каком именно контроллере произошли эти самые изменения? Очевидно, нужно принудительно заставить каждый контроллер домена запросить изменения у всех своих партнеров по репликации. И желательно выполнить эту процедуру дважды.

Принудительно инициировать репликацию можно через консоль Active Directory Sites and Services, но на практике это выливается в длительный перебор всех контроллеров домена и выбор для каждого из них опции репликации в контекстном меню.

Практика

Решение автоматизации процедуры принудительной синхронизации достаточно простое.

Необходимо создать пакетный файл (например, ForceSync.bat) следующего содержания:

repadmin /syncall dc01.gorbunov.pro
repadmin /syncall dc02.gorbunov.pro
repadmin /syncall dc03.gorbunov.pro

В файле должны быть перечислены все контроллеры вашего домена (поставьте свои названия вместо dc01.gorbunov.pro , dc02.gorbunov.pro и т.д.)

Для полной синхронизации контроллеров домена нужно запустить ForceSync.bat дважды.

Утилита repadmin.exe есть на всех контроллерах домена. На клиента ее можно добавить вручную, скопировав с сервера или установив на клиента пакет RSAT.


В бытность мою администратором Active Directory ярлык на файл ForceSync.bat на моем рабочем столе был одним из основных Улыбка.


7 комментариев:

  1. а как же синк олл /a E ? ,а Алексей?

    ОтветитьУдалить
  2. Да, Да, Алексей. Анонимный прав, а если
    Функция SyncAll сообщает о следующих ошибках:
    Ошибка выдачи репликации: 8606 (0x219e):

    ОтветитьУдалить
    Ответы
    1. SyncAll нужно в elevated (Run as administrator) командной строке запускать, иначе прав не хватает на запуск репликации.

      Удалить
  3. А что делать с ошибкой "The target principal name is incorrect."?

    ОтветитьУдалить
    Ответы
    1. Скорее всего, ошибка DNS или просто опечатка в имени сервера.

      Удалить
  4. Gorbunov.Pro: Принудительная Синхронизация Контроллеров Домена Active Directory >>>>> Download Now

    >>>>> Download Full

    Gorbunov.Pro: Принудительная Синхронизация Контроллеров Домена Active Directory >>>>> Download LINK

    >>>>> Download Now

    Gorbunov.Pro: Принудительная Синхронизация Контроллеров Домена Active Directory >>>>> Download Full

    >>>>> Download LINK

    ОтветитьУдалить
  5. Позвали на помощь. Было два DC в домене, скажем, АБВ.local, один с именем SRV01, второй - DC2. Появился ещё один сервер, который было решено сделать BDC (условно, сервера на 200R2). Сервер с именем DC2 отдали под другие задачи, вывели в изолированную сеть, но не понизили в роли. Через некоторое время DC2 вернулся в ту же сеть, но по неясным причинам не синхронизировался с SRV01. SRV02 (новый) у него никак не прописан. Умер SRV01 и выяснилось, что SRV02 хромает на обе ноги - при попытке завести пользователя или ПК в домен, учетка в AD появляется, но в отключенном виде, а сервер уходит в перезагрузку. При попытке включить ситуация повторяется - "сервер недоступен и будет перезагружен через 1 минуту".
    Можно каким-то образом синхронизировать эти два контроллера? На DC2 есть только сервер SRV01 (умерший), на SRV02 успели все сервера удалить из AD. Оба контроллера живут своей жизнью - список пользователей и ПК в доменах разный. На DC2 трехлетней давности. Очень не хочется перезаводить порядка 65 ПК в новый домен

    ОтветитьУдалить