Если в вашей Active Directory установлено более одного контроллера домена, то между ними происходит процесс синхронизации. Это означает, что любые изменения, внесенные на одном контроллере домена, например, смена пароля пользователя в домене, сразу же реплицируются на остальные.
Однако иногда этот процесс может нарушиться. Это может проявляться по-разному. Например, если вы создали или изменили политику на одном из КД, а у пользователей, которые вошли в систему с другого контроллера, эта политика осталась прежней.
Чтобы проверить, работает ли репликация, можно создать файл или папку на одном из контроллеров домена в папке C:\Windows\SYSVOL\sysvol\ИМЯДОМЕНА\scripts и посмотреть, появились ли они на остальных контроллерах домена по тому же пути. Если файл не появился, значит возникла проблема с синхронизацией. Исправить её можно в несколько шагов, об этом ниже.
Первым делом проверим что действительно есть проблема. Запускаем командную строку от имени администратора и вводим команду:
1 |
For /f %i IN ('dsquery server -o rdn') do @echo %i && @wmic /node:"%i" /namespace:\\root\microsoftdfs path dfsrreplicatedfolderinfo WHERE replicatedfoldername='SYSVOL share' get replicationgroupname,replicatedfoldername,state |
В колонках State напротив каждого КД должна стоять цифра 4, если этого нет, то следуем инструкции ниже:
1. С командной строки останавливаем службу репликации DFS на всех контроллерах домена, для этого вводим команду:
1 |
net stop DFSR |
2. Переходим на первичный контроллер домена, в командной строке с помощью команды ADSIEDIT.MSC, запускаем оснастку Редактирование ADSI и подключаемся к Контексту именования по умолчанию
1 |
ADSIEDIT.MSC |
3. Разворачиваем дерево DC=<ИмяДомена> -> OU=Domain Controllers -> CN=<ИмяКонтроллера> -> CN=DFSR-LocalSettings -> CN=Domain System Volume и открываем свойства объекта CN=SYSVOL Subscription
4. Для первичного контроллера домена устанавливаем параметры объекта CN=SYSVOL Subscription:
1 2 |
msDFSR-Enabled=FALSE msDFSR-Options=1 |
5. Для всех остальных контроллеров домена устанавливаем параметр объекта CN=SYSVOL Subscription:
1 |
msDFSR-Enabled=FALSE |
6. Далее на всех контроллерах домена по очереди запускам командную строку от имени администратора и вводим команду:
1 |
repadmin /syncall |
7. После этого на первичном контроллере домена, так же в командной строке вводим команду net start DFSR и в нем же меняем обратно параметр на msDFSR-Enabled=TRUE.
8. Повторно делаем синхронизацию на всех контроллерах домена командой:
1 |
repadmin /syncall |
9. На первичном контроллере домена вводим в командной строке команду:
1 |
DFSRDIAG POLLAD |
В случае если возникла ошибка “DFSRDIAG POLLAD не является внутренней или внешней командой”, то запускаем PowerShell так же с правами администратора и вводим команду:
1 |
Install-WindowsFeature RSAT-DFS-Mgmt-Con |
10. После установки, повторяем ввод команды DFSRDIAG POLLAD на первичном контроллере домена, на остальных вводим команду:
1 |
net start DFSR |
11. Далее в оснастке Редактирование ADSI обратно меняем параметр у дополнительных контроллеров домена на msDFSR-Enabled=TRUE.
12. На дополнительных контроллерах домена в командной строке вводим команду:
1 |
DFSRDIAG POLLAD |
13. Проверяем работу командой:
1 |
For /f %i IN ('dsquery server -o rdn') do @echo %i && @wmic /node:"%i" /namespace:\\root\microsoftdfs path dfsrreplicatedfolderinfo WHERE replicatedfoldername='SYSVOL share' get replicationgroupname,replicatedfoldername,state |
Вывод должен быть таким:
Чтобы проверить репликацию, вы можете скопировать любой файл в папку C:\Windows\SYSVOL\sysvol\ИМЯДОМЕНА\scripts. Этот файл должен появиться на дополнительных контроллерах домена!