Новый повышенный контроллер домена не создает и не реплицирует папки SYSVOL и NETLOGON.

Вопрос или проблема

Кажется, что с моим основным контроллером домена что-то не так. Что бы я ни делал, я не могу заставить другие контроллеры домена создать папки sysvol и netlogon после их повышения. Мой dcdiag показывает эти ошибки на новых контроллерах домена:

Starting test: Advertising
   Warning: DsGetDcName returned information for \\ds1.directory.myorg.com, when we were trying to
   reach DS3.
   SERVER IS NOT RESPONDING or IS NOT CONSIDERED SUITABLE.
   ......................... DS3 failed test Advertising

Starting test: NetLogons
   Unable to connect to the NETLOGON share! (\\DS3\netlogon)
   [DS3] An net use or LsaPolicy operation failed with error 67, The network name cannot be found..
   ......................... DS3 failed test NetLogons

dfsrmig.exe /getmigrationstate показывает это на обоих контроллерах домена:

All domain controllers have migrated successfully to the Global state ('Eliminated').

Я попытался вручную создать общий доступ к C:/Windows/SYSVOL/sysvol, чтобы он совпадал с моим основным контроллером домена, но это не помогло. Кроме создания/репликации папок SYSVOL и NETLOGON, все остальное выглядит нормально.

Мои папки SYSVOL и NETLOGON не синхронизировались, потому что мой основной контроллер домена не был установлен как авторитетный член DFSR. Он все еще пытался реплицировать на пониженный контроллер домена. Я следовал указаниям из раздела “Как выполнить авторитарную синхронизацию DFSR-реплицированного SYSVOL” в этом руководстве на моем основном контроллере домена: https://support.microsoft.com/en-us/help/2218556/how-to-force-an-authoritative-and-non-authoritative-synchronization-fo

У меня было три контроллера домена в тестовом домене, где два имели sysvol+netlogon в состоянии “Initial Sync” (синхронизация инициализации) 2, а третий не имел ни общего доступа sysvol+netlogon, ни состояния вообще. Я следовал этому блогу и сделал его в виде скрипта powershell. Возможно, это поможет и другим.

Вот моя ситуация:

  • DC1 был один длительное время: Windows 2012 R2 (уровень домена + леса)
  • DC2 был добавлен давно: Windows 2012 R2
  • DC3 добавлен недавно: Windows 2022 core
  • DC3 взял на себя роли FSMO, так как я хотел, чтобы он стал новым PDC
  • Обнаружены проблемы синхронизации и другие проблемы при попытке поднять уровень домена/леса до 2016 года, поскольку контроллеры домена не были выше 2016 года
  • DC2 обновление на месте до Windows 2025
  • DC1 обновление на месте до Windows 2025
  • Обнаружены дополнительные проблемы и не работал защищенный канал DC3
  • Вернул роли FSMO на DC1
  • Запустил этот скрипт для исправления, и теперь все выглядит хорошо

https://www.checkyourlogs.net/how-to-fix-missing-sysvol-and-netlogon-share-and-replication-issues-on-new-domain-controller-at-azure

# https://www.checkyourlogs.net/how-to-fix-missing-sysvol-and-netlogon-share-and-replication-issues-on-new-domain-controller-at-azure
# Verify in admin cmd 
# 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
#The states should translate as below and be #4 if all is ok
#0 = Uninitialized
#1 = Initialized
#2 = Initial Sync
#3 = Auto Recovery
#4 = Normal
#5 = In Error
$MyDomain = 'DC=nikdom,DC=local'
$DC1 = 'NIKLASDC01'
$DC2 = 'NIKLASDC02'
$DC3 = 'NIKLASDC03'
$DCs = $DC1,$DC2,$DC3
ICM $DCS {
Stop-Service -Name DFSR }

# $DC1, change : "msDFSR-Enabled"=$true;"msDFSR-Options"=0 to "msDFSR-Enabled"=$false;"msDFSR-Options"=1
Get-ADObject -Identity "CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC1,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options
Set-ADObject "CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC1,OU=Domain Controllers,$MyDomain" -Replace @{"msDFSR-Enabled"=$false;"msDFSR-Options"=1}
Get-ADObject -Identity "CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC1,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options
# $DC2, change : "msDFSR-Enabled"=$true to "msDFSR-Enabled"=$false
Get-ADObject -Identity "CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC2,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options
Set-ADObject "CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC2,OU=Domain Controllers,$MyDomain" -Replace @{"msDFSR-Enabled"=$false}
Get-ADObject -Identity "CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC2,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options
# $DC3, change : "msDFSR-Enabled"=$true to "msDFSR-Enabled"=$false
Get-ADObject -Identity "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC3,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options
Set-ADObject "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC3,OU=Domain Controllers,$MyDomain" -Replace @{"msDFSR-Enabled"=$false}
Get-ADObject -Identity "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC3,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options

$DCs = $DC1,$DC2,$DC3
ICM $DCS {
repadmin /kcc
repadmin /syncall /e
repadmin /syncall /e /P
Net Stop Netlogon
Net Start Netlogon
IPconfig /registerdns }

# Start DFSR only on PDC
$DCs = $DC1
ICM $DCS {
Start-Service -Name DFSR }
# Check event log DFSR and You will see Event ID 4114 in the DFSR event log indicating SYSвол no longer replicated.
# The replicated folder at local path C:\Windows\SYSVOL\domain has been disabled. The replicated folder will not participate in replication until it is enabled. All data in the replicated folder will be treated as pre-existing data when this replicated folder is enabled. 

# $DC1, change : "msDFSR-Enabled"=$false to "msDFSR-Enabled"=$true
Get-ADObject -Identity "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC1,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options
Set-ADObject "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC1,OU=Domain Controllers,$MyDomain" -Replace @{"msDFSR-Enabled"=$true}
Get-ADObject -Identity "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC1,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options

$DCs = $DC1,$DC2,$DC3
ICM $DCS {
repadmin /kcc
repadmin /syncall /e
repadmin /syncall /e /P
Net Stop Netlogon
Net Start Netlogon
IPconfig /registerdns }

# Run dfsrdiag.exe PollAD , Add dfsrdiag if missing with : Add-WindowsFeature RSAT-DFS-Mgmt-Con
dfsrdiag.exe PollAD
# You will see DFSR Event ID 4602 indicating SYSVOL has been initialized.

# Start DFSR on remaining servers
$DCs = $DC2,$DC3
ICM $DCS {
Start-Service -Name DFSR }

# NIKLASDC02, change : "msDFSR-Enabled"=$false to "msDFSR-Enabled"=$true
Get-ADObject -Identity "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC2,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options
Set-ADObject "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC2,OU=Domain Controllers,$MyDomain" -Replace @{"msDFSR-Enabled"=$true}
Get-ADObject -Identity "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC2,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options
# NIKLASDC03, change : "msDFSR-Enabled"=$false to "msDFSR-Enabled"=$true
Get-ADObject -Identity "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC3,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options
Set-ADObject "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC3,OU=Domain Controllers,$MyDomain" -Replace @{"msDFSR-Enabled"=$true}
Get-ADObject -Identity "CN=SYSвол подписка,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=$DC3,OU=Domain Controllers,$MyDomain" -Properties msDFSR-Enabled, msDFSR-Options

$DCs = $DC1,$DC2,$DC3
ICM $DCS {
repadmin /kcc
repadmin /syncall /e
repadmin /syncall /e /P
Net Stop Netlogon
Net Start Netlogon
IPconfig /registerdns }

# Run dfsrdiag.exe PollAD , Add dfsrdiag if missing with : Add-WindowsFeature RSAT-DFS-Mgmt-Con, executer remotely on Core servers as RSAT is not possible to add there
$DCs = $DC2,$DC3
ICM $DCS {
$DC1 = 'NIKLASDC01'
$dfsrdiagPath = "\\$DC1\c$\windows\system32\dfsrdiag.exe"
& "$dfsrdiagPath" PollAD}
# You will see DFSR Event ID 4602 indicating SYSвол has been initialized.

# Verify in admin cmd 
# 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
#The states should translate as below and be #4 if all is ok
#0 = Uninitialized
#1 = Initialized
#2 = Initial Sync
#3 = Auto Recovery
#4 = Normal
#5 = In Error

$DCs = $DC1,$DC2,$DC3
ICM $DCS {net share}

Ответ или решение

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

Теория

Когда вы повышаете сервер до контроллера домена, часть его обязанностей заключается в реплицировании каталога SYSVOL, который является средством синхронизации данных по всей лесной структуре домена. Репликация происходит с помощью DFSR (Distributed File System Replication). Если новый контроллер не создает и не реплицирует каталоги SYSVOL и NETLOGON, это может свидетельствовать о проблемах в конфигурации репликации, например, неавторитетный источник DFSR или проблемы с безопасными каналами между контроллерами.

Пример

Из вашей ситуации понятно, что DCDIAG показывает ошибки, связанные с невозможностью создания каталога NETLOGON на новом контроллере (DS3), а также проблемы с репликацией SYSVOL. Ваша диагностика также показала, что все доменные контроллеры достигли глобального состояния "Eliminated" в процессе миграции DFSR, что обычно означает завершение миграции с FRS (File Replication Service) на DFSR, но это также может означать, что процессы репликации были неправильно завершены.

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

Применение

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

  1. Проверка текущего состояния DFSR:

    • Используйте dfsrmig.exe /getmigrationstate для получения текущего статуса миграции миграции. Убедитесь, что все контроллеры домена в сети находятся в одном и том же состоянии.
  2. Установите авторитетный источник синхронизации:

    • Используйте ADSIEdit или PowerShell для установки текущего основного контроллера в качестве авторитетного источника. Это можно сделать, изменив параметры msDFSR-Enabled и msDFSR-Options как показано в вашем примере PowerShell сценария.
    • Перезапустите службу DFSR.
  3. Автоматизация восстановления:

    • Вы можете использовать PowerShell скрипт, приведенный вами, для автоматизации проверки и восстановления состояния репликации. Важно обеспечить, чтобы все контроллеры были в состоянии "Normal" (#4).
  4. Мониторинг состояния служб и событий:

    • Проверьте журналы событий DFSR на наличие ошибок и предупреждений после выполнения синхронизации, чтобы убедиться, что система работает корректно.
  5. Повторная регистрация DNS-имён:

    • Выполните IPconfig /registerdns на всех доменных контроллерах для обновления их DNS-записей.
  6. Проверка сетевых путей и безопасных каналов:

    • Используйте nltest /sc_verify чтобы удостовериться, что все контроллеры домена могут правильно аутентифицироваться друг с другом.
  7. Реализация процесса обратной связи:

    • Держите планы действий на случай повторения проблемы и создавайте отчеты по всем проведенным изменениям для дальнейшего анализа.

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

Оцените материал
Добавить комментарий

Капча загружается...