Ошибка 2042 на контроллере домена

Обновлено 20.11.2020

Ative Directory

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами разобрали методы оплаты телефона Билайн. В сегодняшней же публикации я хочу вам вновь показать практику траблшутинга активного каталога, и мы разберем очень частую ошибку репликации ID 2042, которую вы можете лицезреть в своем Active Directory, сразу скажу, что она не смертельная и решается весьма просто и без лишних телодвижений.

Описание проблемы вызывающей ошибку ID 2042

И так у меня есть установленные Active Directory на базе Windows Server 2019, который работает в виде виртуальных машин на гипервизоре ESXI 6.5. Была проблема с репликацией между двумя сайтами AD, где было установлено, что один из контроллеров домена не получал репликацию более 50 дней, там об этом сигнализировала ошибка «SyncAll exited with fatal Win32 error: 8440 (0x20f8)», которую мы успешно устранили. Как только пробежали все реплики, мы успокоились, но на следующий день у нас массово в логах Windows стали появляться события с кодом ID 2042:

It has been too long since this machine last replicated with the named source machine. The time between replications with this source has exceeded the tombstone lifetime. Replication has been stopped with this source.

The reason that replication is not allowed to continue is that the two DCs may contain lingering objects. Objects that have been deleted and garbage collected from an Active Directory Domain Services partition but still exist in the writable partitions of other DCs in the same domain, or read-only partitions of global catalog servers in other domains in the forest are known as «lingering objects». If the local destination DC was allowed to replicate with the source DC, these potential lingering object would be recreated in the local Active Directory Domain Services database.

Time of last successful replication:
2020-09-08 14:47:05
Invocation ID of source directory server:
f96c8e1b-f760-4e75-b2b2-ec464646d663
Name of source directory server:
d06896a3-be4b-4b8a-b75f-e524564526a0f._msdcs.root.pyatilistnik.org
Tombstone lifetime (days): 60

The replication operation has failed.

User Action:
The action plan to recover from this error can be found at http://support.microsoft.com/?id=314282.

If both the source and destination DCs are Windows Server 2003 DCs, then install the support tools included on the installation CD. To see which objects would be deleted without actually performing the deletion run «repadmin /removelingeringobjects <Source DC> <Destination DC DSA GUID> <NC> /ADVISORY_MODE». The event logs on the source DC will enumerate all lingering objects. To remove lingering objects from a source domain controller run «repadmin /removelingeringobjects <Source DC> <Destination DC DSA GUID> <NC>».

If either source or destination DC is a Windows 2000 Server DC, then more information on how to remove lingering objects on the source DC can be found at http://support.microsoft.com/?id=314282 or from your Microsoft support personnel.

If you need Active Directory Domain Services replication to function immediately at all costs and don’t have time to remove lingering objects, enable replication by setting the following registry key to a non-zero value:

Registry Key:
HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Allow Replication With Divergent and Corrupt Partner

Replication errors between DCs sharing a common partition can prevent user and computer accounts, trust relationships, their passwords, security groups, security group memberships and other Active Directory Domain Services configuration data to vary between DCs, affecting the ability to log on, find objects of interest and perform other critical operations. These inconsistencies are resolved once replication errors are resolved. DCs that fail to inbound replicate deleted objects within tombstone lifetime number of days will remain inconsistent until lingering objects are manually removed by an administrator from each local DC. Additionally, replication may continue to be blocked after this registry key is set, depending on whether lingering objects are located immediately.

Alternate User Action:

Force demote or reinstall the DC(s) that were disconnected.

ID 2042 for Active Directory replication

Я выделил тут участок Tombstone lifetime (days): 60, именно это является ключевым вопросом. Так как у вас сбойный контроллер не принимал реплики более 60 дней, то ваш Active Directory просто перестраховывается, чтобы ничего не наломать, есть там такой защитный механизм, называется принудительный запрет репликации.

Событие 2042 — событие указывает на то, что включена строгая репликация, исходный контроллер домена не реплицировался в в период tombstone и пытается реплицировать, поэтому репликация отключена из источника. Событие предоставляет GUID источника в формате записи DNS CName:982a942e-40e4-4e3c-8609-bae0cfd2affb._msdcs.pyatilistnik.org. Понятное имя контроллера домена можно легко найти, просмотрев записи псевдонимов в зоне _msdcs в оснастке DNS.

Как устранить ошибку ID 2042

Первое, что вам необходимо сделать, это вычислить имя контроллера домена с которого у вас не идет репликация на сбойный, это можно сделать несколькими методами. В тексте ошибки есть GUID контроллера домена, выглядит он приблизительно вот так 5fc9cc16-b994-426d-81c8-c9ff27f29976._msdcs.root.pyatilistnik.org. Понятно, что для нас он не читаем. Откройте командную строку и введите команду PING.

ping 5fc9cc16-b994-426d-81c8-c9ff27f29976._msdcs.root.pyatilistnik.org

На выходе вы получите точное имя контроллера домена.

Как узнать GUID контроллера домена

Либо через оснастку DNS в разделе _msdcs.root, где вы увидите псевдонимы CNAME в виде привычных имен контроллеров домена.

ID 2042 при репликации Active Directory

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\NTDS\Parameters

Найдите там ключ «Allow Replication With Divergent and Corrupt Partner«, по умолчанию он имеет значение «0«. Поменяйте его на единицу «1«. Перезагружать ничего не нужно, все применится сразу.

Allow Replication With Divergent and Corrupt Partner

Повторите эти действия на тех контролерах домена, на которых наблюдается ошибка 2042. После этого в командной строке вам нужно воспользоваться утилитой Repadmin.

После того, как ошибка репликации ID 2042 исчезнет, вам необходимо ключу «Allow Replication With Divergent and Corrupt Partner» вернуть значение «0». Если не хотите возиться с реестром или вы боитесь это делать на контроллере домена, то можно через команду для определенного контроллера снять повышенные ограничения при репликации. Для этого в командной строке в режиме администратора вам нужно выполнить команды:

repadmin /regkey <hostname> -allowDivergent

  • /regkey — (+) Включает и отключает значение записи реестра Строгую согласованность репликации в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\ Parameters(-)
  • <hostname> — Имя контроллера домена с которого будет реплицироваться дельта, можно вообще поставить значок звездочки «*«, чтобы разрешить репликацию со всех контроллеров домена.
  • +allowDivergent/-allowDivergent — Позволяет начать новую репликацию с партнером, убедитесь, что у вас удалены все устаревшие объекты (По поводу устаревших объектов можно почитать вот тут https://support.microsoft.com/ru-ru/help/4469622/active-directory-replication-event-id-2042-it-has-been-too-long-since и советую почитать про дублированные имена и ID 11)

repadmin /regkey dc2.root.pyatilistnik.org -allowDivergent

Для dc2.root.pyatilistnik.org будет установлен Allow Replication With Divergent and Corrupt Partner со значением «0». На этом у меня все, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Search code, repositories, users, issues, pull requests…

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Служба каталогов РЕпликация
При некорректном отключении компьютера, на котором установлен контроллера домена, если он продолжительное время находился недоступным для репликации может произойти такая неприятная ситуация, как ошибка в репликации Active Directory. Также проблемы с репликацией могут случиться, если будет сброшено или настроено некорректно системное время на сервере. Поэтому следите за этим.
Рассмотрим ситуацию с ошибкой EVENT ID 2042, которая звучит как «С момента последней репликации этой машины с указанной исходной машиной прошло слишком много времени. Промежуток между репликациями с этим источником превысил время жизни захоронения. Репликация с данного источника прекращена.»

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

Если есть возможность, нужно понизить контроллер до уровня обычного сервера (удалить роль DC) и поставить эту роль заново.

Но, как советует Microsoft, можно попробовать разрешить принудительную репликацию, добавив ключ реестра:
1. Создайте DWORD-параметр Allow Replication With Divergent and Corrupt Partner в разделе реестра HKLM\System\CurrentControlSet\Services\NTDS\Parameters и присвойте ему значение 1.
2. Запустите репликацию на контроллере командой repadmin /syncall
3. После реплицирования удалите созданный параметр или присвойте значение равное «0».


If a domain controller has not replicated with its partner for longer than a tombstone lifetime, it is possible that a lingering object problem exists on one or both domain controllers and an event ID 2042 is created.
When the condition that causes Event ID 2042 to be logged occurs, inbound replication with the source partner is stopped on the destination domain controller and Event ID 2042 is logged in the Directory Service event log. Event ID similar mentioned here.

Troubleshooting Event ID 2042:

Please follow the steps below to rectify the issue:

1. Run below command from SRV-01 (problematic server)
    C:\>repadmin /showrepl

   
Repadmin: running command /showrepl against full DC localhost
Default-First-Site-Name\SRV-01
DSA Options: IS_GC
Site Options: (none)
DSA object GUID: faf7771d-2541-44d0-b605-95701cb6aaa1
DSA invocationID: faf7771d-2541-44d0-b605-95701cb6aaa1

==== INBOUND NEIGHBORS ======================================

DC=hpv,DC=local
    Default-First-Site-Name\SRV-02 via RPC
        DSA object GUID: 4a8717eb-8e58-456c-995a-c92e4add7e8e
        Last attempt @ 2014-07-25 10:25:37 failed, result 8614 (0x21a6):
            The directory service cannot replicate with this server because the
time since the last replication with this server has exceeded the tombstone life
time.
        155228 consecutive failure(s).
        Last success @ 2014-04-19 10:04:41.

CN=Configuration,DC=hpv,DC=local
    Default-First-Site-Name\SRV-02 via RPC
        DSA object GUID: 4a8717eb-8e58-456c-995a-c92e4add7e8e
        Last attempt @ 2014-07-25 09:48:55 was successful.

CN=Schema,CN=Configuration,DC=hpv,DC=local
    Default-First-Site-Name\SRV-02 via RPC
        DSA object GUID: 4a8717eb-8e58-456c-995a-c92e4add7e8e
        Last attempt @ 2014-07-25 09:48:55 was successful.

DC=DomainDnsZones,DC=hpv,DC=local
    Default-First-Site-Name\SRV-02 via RPC
        DSA object GUID: 4a8717eb-8e58-456c-995a-c92e4add7e8e
        Last attempt @ 2014-07-25 09:48:55 was successful.

DC=ForestDnsZones,DC=hpv,DC=local
    Default-First-Site-Name\SRV-02 via RPC
        DSA object GUID: 4a8717eb-8e58-456c-995a-c92e4add7e8e
        Last attempt @ 2014-07-25 09:48:55 was successful.

Source: Default-First-Site-Name\SRV-02
******* 155223 CONSECUTIVE FAILURES since 2014-04-19 10:04:41
Last error: 8614 (0x21a6):
            The directory service cannot replicate with this server because the
time since the last replication with this server has exceeded the tombstone life
time.

C:\>

2. On a domain controller that you expect to have the latest changes (in my case it is SRV-02), open an elevated Command Prompt window. To open an elevated Command Prompt window, click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.

3. Type the following command from SRV-02 server. ‘repadmin /removelingeringobjects <DestDCName> <SourceDCGUID> <LDAPPartition> /advisory_mode’. To get SourceDCGUID see Step1 DSA object GUID under INBOUND NEIGHBORS.

     repadmin /removelingeringobjects SRV-01 4a8717eb-8e58-456c-995a-c92e4add7e8e dc=hpv, dc=local /advisory_mode

4. Now on the problematic server (directory service error is happening in first server SRV-01) check for the following event log in Directory service.
     Event ID 2014 start with ‘Duplicate event log entries were suppressed.’
     Event ID 1937 start with ‘Active Directory Domain Services has begun the removal of lingering objects on the local domain controller. All objects on this domain controller will have their existence verified on the following source domain controller.’

5. After verifying the event log type the following command from SRV-02 without advisory_mode to permanently delete the lingering object.
     repadmin /removelingeringobjects SRV-01 4a8717eb-8e58-456c-995a-c92e4add7e8e dc=hpv, dc=local

6. Now on the problematic server following event id will be generated in Directory service if the lingering object are deleted permanently .
    Event ID 1939 start with Active Directory Domain Services has completed the removal of lingering objects on the local domain controller. All objects on this domain controller have had their existence verified on the following source domain controller.

7. Now on the SRV-01 type the following command to restart replication.
    repadmin /regkey SRV-01 +allowDivergent

    Eg:
       C:\>repadmin /regkey SRV-01 +allowDivergent
 HKLM\System\CurrentControlSet\Services\NTDS\Parameters: «Allow Replication With Divergent and Corrupt Partner» value does not exist
New HKLM\System\CurrentControlSet\Services\NTDS\Parameters: «Allow Replication With Divergent and Corrupt Partner» REG_DWORD 0x00000001 (1)

8. Confirm replication is sucess with repladmin /showrepl or use the AD Replication Status tool (http://www.microsoft.com/en-us/download/details.aspx?id=30005)
     For testing copy a simple .txt file in first sever’s sysvol folders script directory and check if it is listed in second server’s sysvol, if listed then delete from there and check in first server if it is deleted. If both are success then we can confirm the replication is success.

9. After confirming the above step delete the replication registry added in step 7 by typing the following command..
    C:\>repadmin /regkey SRV-01 -allowDivergent
     HKLM\System\CurrentControlSet\Services\NTDS\Parameters: «Allow Replication With Divergent and Corrupt Partner» REG_DWORD 0x00000001 (1)
     New HKLM\System\CurrentControlSet\Services\NTDS\Parameters: «Allow Replication With Divergent and Corrupt Partner» value does not exist

10. For details follow the microsoft article.
      http://technet.microsoft.com/en-us/library/cc949136(v=ws.10).aspx

This article helps you troubleshoot Active Directory replication Event ID 2042. If a domain controller has not replicated with its partner for longer than a tombstone lifetime, it is possible that a lingering object problem exists on one or both domain controllers.

How long does it take for NTDs settings to be restored?

By default, NTDS Settings objects that are deleted are revived automatically for a period of 14 days. Therefore, if you do not remove server metadata (use Ntdsutil or the script mentioned previously to perform metadata cleanup), the server metadata is reinstated in the directory, which prompts replication attempts to occur.

When to restart replication after divergent replication event?

Domain controllers will normally stop replicating with any partner that is deemed to be engaged in divergent replication. After you remove all lingering objects, you can restart replication on the domain controller that logged the event by editing the registry. Restart replication only after you have removed all lingering objects.

When is event ID 2042 logged in directory service event log?

When the condition that causes Event ID 2042 to be logged occurs, inbound replication with the source partner is stopped on the destination domain controller and Event ID 2042 is logged in the Directory Service event log.

What are the eventids for domain controller replication errors?

EventID: 0x00001796 esently being used between clients and this server. This event occurs once per b oot of the server on the first time a client uses NTLM with this server. An error event occurred. EventID: 0xC0001B61 ceworks Agent Shell Service service to connect. A warning event occurred. EventID: 0x000727AA

When does a domain controller stop replicating with a partner?

When a partner domain controller is discovered to be passing older changes, the changes from the partner are deemed to be “divergent.” The partner is said to be engaged in “divergent replication.” Domain controllers will normally stop replicating with any partner that is deemed to be engaged in divergent replication.

Where are SYSVOL folders not replicating across domain controllers?

After checking the event viewer I am across several logs that seemed a bit concerning to me. The DFS Replication service initialized SYSVOL at local path C:\\Windows\\SYSVOL\\domain and is waiting to perform initial replication.

Понравилась статья? Поделить с друзьями:
  • Ошибка 2041 quicktime
  • Ошибка 2041 мерседес спринтер
  • Ошибка 204 сбербанк
  • Ошибка 20405 робот пылесос
  • Ошибка 2040 на сайте ржд что делать