Работа с checkrepl
Скрипт checkrepl (полный путь после установки пакета inno-samba: /app/inno-samba/scripts/checkrepl) предназначен для диагностирования проблем репликации на контроллерах домена Эллес.
|
Некоторые из операций, доступных при работе со скриптом, являются потенциально деструктивными. Их выполнение может привести к некорректной работе процесса репликации. Описания таких операций в тексте раздела сопровождаются предупреждением. |
|
См. также:
|
Предварительные требования
Скрипт должен запускаться с правами суперпользователя.
Запуск любых потенциально деструктивных операций возможен только локально. При запуске с указанием удаленного сервера выполнение таких операций недоступно.
Формат вызова
Общий формат вызова:
checkrepl [-h] [--server SERVER] {info, rootdse, showreplmeta, ntdsconnection, basedn, configdn, schemadn, forestdn, domaindn}
Общие параметры
Общие параметры вызова:
-
-h— вывод справочной информации; -
--server HOSTNAME|FQDN— имя хоста или полное доменное имя диагностируемого контроллера домена.При задании параметра недоступны потенциально деструктивные операции.
Подкоманды
Для выполнения операций при вызове скрипта указываются подкоманды. Каждая подкоманда имеет свой набор параметров.
info
Подкоманда info позволяет получить информацию об участвующих в репликации контроллерах домена для использования в дальнейшем при выполнении других операций с помощью скрипта или сравнения с выводом иных инструментов (например, samba-tool drs showrepl).
Параметры
Подкоманда принимает параметры:
-
--dsa-table— запрос информации для идентификации участвующих в процессе репликации агентов Directory System Agent (DSA), работающих на контроллерах в домене, по LDAP с выводом результатов в виде таблицы со следующими столбцами:-
FQDN— полное доменное имя контроллера; -
Site— сайт, в котором находится контроллер; -
DSA objectGUID— уникальный идентификатор агента DSA, работающего на контроллере домена;Данный идентификатор формируется при развертывании контроллера домена и не изменяется в течение всего периода его эксплуатации.
-
DSA invocationId— версия базы данных контроллера домена.Атрибут объекта
nTDSDSA. Значение обновляется при добавлении или удалении раздела каталога (контекста именования, NC) и восстановлении контроллера домена. Передается при репликации в запросе набора изменений (DsGetNCChanges).
-
Примеры
Пример запроса и возвращаемого значения:
sudo /app/inno-samba/scripts/checkrepl info --dsa-table Establishing local connection FQDN |Site |DSA objectGUID |DSA invocationId smb-dc03.inno.tech|Default-First-Site-Name|7737e10c-03aa-40fe-9fd8-f3c9b3cf598d|04a3d3ec-5dff-4149-b7e1-91ce94c7e435 win-dc01.inno.tech|Default-First-Site-Name|62430164-702b-4673-b09a-50e1c3416d14|62430164-702b-4673-b09a-50e1c3416d14 smb-dc02.inno.tech|Default-First-Site-Name|350efbad-9994-418d-94bd-f67ebc2f093a|5d6827b5-7383-4e63-a95c-bfceb2a27bab
rootdse
Подкоманда rootdse предназначена для работы с объектом RootDSE, представляющим собой логический корень дерева данных каталога на сервере каталогов.
Параметры
Подкоманда принимает параметры:
-
--show-rootdse— вывод значений следующих атрибутов:-
msDS-ReplQueueStatistics— информация о текущем состоянии очереди репликации в виде структурыDS_REPL_QUEUE_STATISTICSв XML:<DS_REPL_QUEUE_STATISTICS> <ftimeCurrentOpStarted>ftimeCurrentOpStartedValue</ftimeCurrentOpStarted> <cNumPendingOps>cNumPendingOpsValue</cNumPendingOps> <ftimeOldestSync>ftimeOldestSyncValue</ftimeOldestSync> <ftimeOldestAdd>ftimeOldestAddValue</ftimeOldestAdd> <ftimeOldestDel>ftimeOldestModValue</ftimeOldestDel> <ftimeOldestMod>ftimeOldestDelValue</ftimeOldestMod> <ftimeOldestUpdRefs>ftimeOldestUpdRefsValue</ftimeOldestUpdRefs> </DS_REPL_QUEUE_STATISTICS>Элементы структуры:
-
ftimeCurrentOpStartedValue— дата и время начала обработки последнего покинувшего очередь запросаIDL_DRSReplicaSync,IDL_DRSReplicaAdd,IDL_DRSReplicaModify,IDL_DRSReplicaDelилиIDL_DRSUpdateRefs; -
cNumPendingOpsValue— количество находящихся в очереди запросовIDL_DRSReplicaSync,IDL_DRSReplicaAdd,IDL_DRSReplicaModify,IDL_DRSReplicaDel,IDL_DRSUpdateRefs; -
ftimeOldestSyncValue— дата и время добавления в очередь запросаIDL_DRSReplicaSync, находящегося в ней наибольшее время; -
ftimeOldestAddValue— дата и время добавления в очередь запросаIDL_DRSReplicaAdd, находящегося в ней наибольшее время; -
ftimeOldestModValue— дата и время добавления в очередь запросаIDL_DRSReplicaModify, находящегося в ней наибольшее время; -
ftimeOldestDelValue— дата и время добавления в очередь запросаIDL_DRSReplicaDel, находящегося в ней наибольшее время; -
ftimeOldestUpdRefsValue— дата и время добавления в очередь запросаIDL_DRSUpdateRefs, находящегося в ней наибольшее время;
-
-
msDS-ReplAllOutboundNeighbors/msDS-ReplAllInboundNeighbors— информация о текущем состоянии исходящей/входящей репликации для определенного раздела каталога в рамках взаимодействия пары серверов в виде набора структурDS_REPL_NEIGHBORв XML:<DS_REPL_NEIGHBOR> <pszNamingContext>pszNamingContextValue</pszNamingContext> <pszSourceDsaDN>pszSourceDsaDNValue</pszSourceDsaDN> <pszSourceDsaAddress>pszSourceDsaAddressValue</pszSourceDsaAddress> <pszAsyncIntersiteTransportDN>pszAsyncIntersiteTransportDNValue</pszAsyncIntersiteTransportDN> <dwReplicaFlags>dwReplicaFlagsValue</dwReplicaFlags> <uuidNamingContextObjGuid>uuidNamingContextObjGuidValue</uuidNamingContextObjGuid> <uuidSourceDsaObjGuid>uuidSourceDsaObjGuidValue</uuidSourceDsaObjGuid> <uuidSourceDsaInvocationID>uuidSourceDsaInvocationIDValue</uuidSourceDsaInvocationID> <uuidAsyncIntersiteTransportObjGuid>uuidAsyncIntersiteTransportObjGuidValue</uuidAsyncIntersiteTransportObjGuid> <usnLastObjChangeSynced>usnLastObjChangeSyncedValue</usnLastObjChangeSynced> <usnAttributeFilter>usnAttributeFilterValue</usnAttributeFilter> <ftimeLastSyncSuccess>ftimeLastSyncSuccessValue</ftimeLastSyncSuccess> <ftimeLastSyncAttempt>ftimeLastSyncAttemptValue</ftimeLastSyncAttempt> <dwLastSyncResult>dwLastSyncResultValue</dwLastSyncResult> <cNumConsecutiveSyncFailures>cNumConsecutiveSyncFailuresValue</cNumConsecutiveSyncFailures> </DS_REPL_NEIGHBOR>Элементы структуры:
-
pszNamingContext— раздел каталога, к которому относятся данные о состоянии репликации;Каждый раздел реплицируется независимо и имеет свой собственный набор данных о партнерах по репликации, даже если все разделы реплицируются с одного контроллера-источника.
-
pszSourceDsaDN— DN агента DSA контроллера-источника, к которому относятся данные о репликации;Каждый контроллер-источник имеет свой набор данных.
-
pszSourceDsaAddress— сетевой адрес контроллера-источника с учетом специфики используемого для репликации транспорта; -
pszAsyncIntersiteTransportDN— DN объектаinterSiteTransport, соответствующего транспорту, посредством которого выполняется репликация (NULLдля RPC/IP-репликации); -
dwReplicaFlags— флаги, описывающие различные атрибуты и опции в рамках репликации; -
uuidNamingContextObjGuid— значениеobjectGuidраздела каталога; -
uuidSourceDsaObjGuid— значениеobjectGuidагента DSA контроллера-источника; -
uuidSourceDsaInvocationID— версия базы данных каталога контроллера-источника (значениеinvocationIdагента DSA контроллера-источника); -
uuidAsyncIntersiteTransportObjGuid— значениеobjectGuidобъекта межсайтового транспорта; -
usnLastObjChangeSynced— порядковый номер (USN) последнего полученного обновления; -
usnAttributeFilter— значениеusnLastObjChangeSyncedпо состоянию на конец последнего завершенного успешного цикла репликации; -
ftimeLastSyncSuccess— дата и время завершения последнего успешного цикла репликации с контроллера-источника; -
ftimeLastSyncAttempt— дата и время последней попытки репликации с контроллера-источника; -
dwLastSyncResult— код ошибки, полученный при последней попытке репликации с контроллера-источника; содержитERROR_SUCCESS, если последняя попытка была успешной; -
cNumConsecutiveSyncFailures— количество неуспешных попыток репликации с контроллера-источника с момента последней успешной репликации или с момента добавления контроллера-источника в список партнеров по репликации.
-
-
msDS-ReplConnectionFailures/msDSReplLinkFailures— информация о неуспешных попытках установить соединение с контроллером-источником для репликации / репликации с контроллера-источника в виде набора структурDS_REPL_KCC_DSA_FAILUREв XML:<DS_REPL_KCC_DSA_FAILURE> <pszDsaDN>pszDsaDNValue</pszDsaDN> <uuidDsaObjGuid>uuidDsaObjGuidValue</uuidDsaObjGuid> <ftimeFirstFailure>ftimeFirstFailureValue</ftimeFirstFailure> <cNumFailures>cNumFailuresValue</cNumFailures> <dwLastResult>dwLastResultValue</dwLastResult> </DS_REPL_KCC_DSA_FAILURE>Элементы структуры:
-
pszDsaDN— DN объекта DSA контроллера-источника; -
uuidDsaObjGuid— значениеobjectGuidагента DSA контроллера-источника; -
ftimeFirstFailure— дата и время первой неуспешной попытки репликации с контроллера-источника либо дата и время последней успешной репликации; -
cNumFailures— количество идущих подряд неуспешных попыток с момента последней успешной репликации; -
dwLastResult— код ошибки, возникшей при последней неуспешной попытке репликации.
-
-
msDS-ReplPendingOps— информация об исполняемых или ожидающих исполнения задачах репликации в виде набора структурDS_REPL_OPв XML:<DS_REPL_OP> <ftimeEnqueued>ftimeEnqueuedValue</ftimeEnqueued> <ulSerialNumber>ulSerialNumberValue</ulSerialNumber> <ulPriority>ulPriorityValue</ulPriority> <OpType>OpTypeValue</OpType> <ulOptions>ulOptionsValue</ulOptions> <pszNamingContext>pszNamingContextValue</pszNamingContext> <pszDsaDN>pszDsaDNValue</pszDsaDN> <pszDsaAddress>pszDsaAddressValue</pszDsaAddress> <uuidNamingContextObjGuid>uuidNamingContextObjGuidValue</uuidNamingContextObjGuid> <uuidDsaObjGuid>uuidDsaObjGuidValue</uuidDsaObjGuid> </DS_REPL_OP>Элементы структуры:
-
ftimeEnqueued— дата и время добавления операции в очередь репликации; -
ulSerialNumber— идентификатор операции; -
ulPriority— приоритет операции; -
OpType— тип операции; -
ulOptions— набор флагов, содержащих дополнительную информацию об операции; -
pszNamingContext— DN раздела каталога, с которым связана операция; -
pszDsaDN— DN объекта DSA, связанного с удаленным сервером, которому соответствует операция; -
pszDsaAddress— сетевой адрес удаленного сервера, связанного с операцией; -
uuidNamingContextObjGuid— значениеobjectGuidраздела каталога, с которым связана операция; -
uuidDsaObjGuid— значениеobjectGuidобъекта DSA, связанного с удаленным сервером, которому соответствует операция.
-
-
highestCommittedUSN— наибольшее значение порядкового номера обновления (USN), зафиксированное на контроллере домена;
-
-
--show-replchanged— вывод содержимого записи@REPLCHANGED(запись доступна только на контроллерах домена Эллес):-
uSNHighest— максимальное значение порядкового номера обновления (USN); -
uSNUrgent— значение USN для изменений, которые должны быть реплицированы в приоритетном порядке;
-
-
--show-baseinfo— содержимое записи@BASEINFO(запись доступна только на контроллерах домена Эллес):-
sequenceNumber— порядковый номер изменения; -
whenChanged— дата и время изменения -
distinguishedName— DN записи.
-
Примеры
Примеры запросов и возвращаемых значений:
-
пример запроса с параметром
--show-rootdseи возвращаемого значения:sudo /app/inno-samba/scripts/checkrepl --server win-dc01.inno.tech rootdse --show-rootdse Connecting to ldap://win-dc01.inno.tech msDS-ReplQueueStatistics: <DS_REPL_QUEUE_STATISTICS> <ftimeCurrentOpStarted>2024-09-27T06:55:42Z</ftimeCurrentOpStarted> <cNumPendingOps>2</cNumPendingOps> <ftimeOldestSync>2024-09-27T06:54:26Z</ftimeOldestSync> <ftimeOldestAdd>1601-01-01T00:00:00Z</ftimeOldestAdd> <ftimeOldestDel>1601-01-01T00:00:00Z</ftimeOldestDel> <ftimeOldestMod>1601-01-01T00:00:00Z</ftimeOldestMod> <ftimeOldestUpdRefs>1601-01-01T00:00:00Z</ftimeOldestUpdRefs> </DS_REPL_QUEUE_STATISTICS> msDS-ReplAllOutboundNeighbors: <DS_REPL_NEIGHBOR> <pszNamingContext>DC=inno,DC=tech</pszNamingContext> <pszSourceDsaDN>CN=NTDS Settings,CN=SMB-DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech</pszSourceDsaDN> <pszSourceDsaAddress>350efbad-9994-418d-94bd-f67ebc2f093a._msdcs.inno.tech</pszSourceDsaAddress> <pszAsyncIntersiteTransportDN></pszAsyncIntersiteTransportDN> <dwReplicaFlags>16</dwReplicaFlags> <uuidNamingContextObjGuid>1235cb51-9668-4e27-ac82-9cfd2f10867d</uuidNamingContextObjGuid> <uuidSourceDsaObjGuid>350efbad-9994-418d-94bd-f67ebc2f093a</uuidSourceDsaObjGuid> <uuidSourceDsaInvocationID>00000000-0000-0000-0000-000000000000</uuidSourceDsaInvocationID> <uuidAsyncIntersiteTransportObjGuid>00000000-0000-0000-0000-000000000000</uuidAsyncIntersiteTransportObjGuid> <usnLastObjChangeSynced>0</usnLastObjChangeSynced> <usnAttributeFilter>0</usnAttributeFilter> <ftimeLastSyncSuccess>2024-09-27T05:46:34Z</ftimeLastSyncSuccess> <ftimeLastSyncAttempt>2024-09-27T06:47:45Z</ftimeLastSyncAttempt> <dwLastSyncResult>1722</dwLastSyncResult> <cNumConsecutiveSyncFailures>1</cNumConsecutiveSyncFailures> </DS_REPL_NEIGHBOR> ... msDS-ReplAllInboundNeighbors: <DS_REPL_NEIGHBOR> <pszNamingContext>DC=inno,DC=tech</pszNamingContext> <pszSourceDsaDN>CN=NTDS Settings,CN=SMB-DC03,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech</pszSourceDsaDN> <pszSourceDsaAddress>7737e10c-03aa-40fe-9fd8-f3c9b3cf598d._msdcs.inno.tech</pszSourceDsaAddress> <pszAsyncIntersiteTransportDN></pszAsyncIntersiteTransportDN> <dwReplicaFlags>112</dwReplicaFlags> <uuidNamingContextObjGuid>1235cb51-9668-4e27-ac82-9cfd2f10867d</uuidNamingContextObjGuid> <uuidSourceDsaObjGuid>7737e10c-03aa-40fe-9fd8-f3c9b3cf598d</uuidSourceDsaObjGuid> <uuidSourceDsaInvocationID>04a3d3ec-5dff-4149-b7e1-91ce94c7e435</uuidSourceDsaInvocationID> <uuidAsyncIntersiteTransportObjGuid>00000000-0000-0000-0000-000000000000</uuidAsyncIntersiteTransportObjGuid> <usnLastObjChangeSynced>16925</usnLastObjChangeSynced> <usnAttributeFilter>16925</usnAttributeFilter> <ftimeLastSyncSuccess>2024-09-26T11:54:40Z</ftimeLastSyncSuccess> <ftimeLastSyncAttempt>2024-09-27T06:30:39Z</ftimeLastSyncAttempt> <dwLastSyncResult>1727</dwLastSyncResult> <cNumConsecutiveSyncFailures>19</cNumConsecutiveSyncFailures> </DS_REPL_NEIGHBOR> ... Attribute msDS-ReplConnectionFailures is not present on rootDSE Attribute msDSReplLinkFailures is not present on rootDSE msDS-ReplPendingOps: <DS_REPL_OP> <ftimeEnqueued>2024-09-27T06:54:26Z</ftimeEnqueued> <ulSerialNumber>18821</ulSerialNumber> <ulPriority>330</ulPriority> <OpType>0</OpType> <ulOptions>519</ulOptions> <pszNamingContext>CN=Schema,CN=Configuration,DC=inno,DC=tech</pszNamingContext> <pszDsaDN>CN=NTDS Settings,CN=SMB-DC03,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech</pszDsaDN> <pszDsaAddress>7737e10c-03aa-40fe-9fd8-f3c9b3cf598d._msdcs.inno.tech</pszDsaAddress> <uuidNamingContextObjGuid>32cb115a-2aaa-430b-940f-1b23956ff94e</uuidNamingContextObjGuid> <uuidDsaObjGuid>7737e10c-03aa-40fe-9fd8-f3c9b3cf598d</uuidDsaObjGuid> </DS_REPL_OP> ... highestCommittedUSN: 403240
-
пример запроса с параметром
--show-baseinfoи возвращаемого значения:sudo /app/inno-samba/scripts/checkrepl rootdse --show-baseinfo Establishing local connection sequenceNumber: 15 whenChanged: 20240627125032.0Z distinguishedName: @BASEINFO
-
пример запроса с параметром
--show-replchangedи возвращаемого значения:sudo /app/inno-samba/scripts/checkrepl rootdse --show-replchanged Establishing local connection uSNHighest: 18885 uSNUrgent: 18728
showreplmeta
Подкоманда showreplmeta предназначена для получения относящейся к репликации метаинформации для объектов каталога.
Для указания объекта при вызове подкоманды могут использоваться его DN и/или LDAP-фильтр.
Для каждого атрибута попавшего в выборку объекта каталога подкоманда выводит следующий набор данных:
-
Attribute— наименование атрибута объекта; -
cur. value— текущее значение атрибута; -
Repl. meta— относящаяся к репликации метаинформация:-
version— версия значения атрибута; -
orig. change time— дата и время последнего изменения значения атрибута на контроллере-источнике; -
orig. inv. id— версия базы данных контроллера-источника (значениеinvocationId);-
DC info by invocation ID— значения DN и GUID контроллера-источника;
-
-
orig. usn— значение порядкового номера обновления (USN) на контроллере-источнике; -
local usn— локальное значение USN.
-
Пример набора данных, выводимого подкомандой для отдельного атрибута объекта каталога:
... Attribute: [name] cur. value: [TestUser] Repl. meta: version: [3] orig. change time: [Fri Sep 27 12:54:56 2024] orig. inv. id: [62430164-702b-4673-b09a-50e1c3416d14] DC info by invocation ID: DN: CN=WIN-DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech GUID: 62430164-702b-4673-b09a-50e1c3416d14 orig. usn: [403905] local usn: [18770] ...
ntdsconnection
Подкоманда ntdsconnection предназначена для работы с объектами nTDSConnection, задающими параметры соединений для репликации между контроллерами домена.
Объект nTDSConnection является дочерним по отношению к объекту nTDSDSA целевого контроллера домена, участвующего в репликации.
Подкоманда позволяет просматривать текущие объекты nTDSConnection локального или указанного контроллера домена, а также устанавливать значения опций, управляющих параметрами соединения.
Параметры
Подкоманда принимает параметры:
-
--connections— вывод списка объектовnTDSConnectionлокального или указанного контроллера домена со следующим набором атрибутов:-
DN— уникальное имя (DN) объектаnTDSConnection; -
cn— общее имя (CN) объектаnTDSConnection; -
objectGUID— уникальный идентификатор объектаnTDSConnection; -
fromServer— объектnTDSDSAконтроллера-источника; -
systemFlags— значения системных флагов; -
options— опции, управляющие параметрами соединения между контроллерами домена для репликации:-
NTDSCONN_OPT_IS_GENERATED(значение для изменения флага —1) — признак того, что соединение (объектnTDSConnection) сформировано KCC (по умолчанию —YES); -
NTDSCONN_OPT_TWOWAY_SYNC(значение для изменения флага —2) — признак того, что по завершении цикла репликации с использованием данного соединения должен быть начат цикл репликации в противоположном направлении (по умолчанию —NO); -
NTDSCONN_OPT_OVERRIDE_NOTIFY_DEFAULT(значение для изменения флага —4) — признак отказа от использования значений по умолчанию при определении нотификации (по умолчанию —NO); -
NTDSCONN_OPT_USE_NOTIFY(значение для изменения флага —8) — признак того, что контроллер-источник уведомляет целевой контроллер домена об изменениях, вносимых на контроллере-источнике (по умолчанию —NO); -
NTDSCONN_OPT_DISABLE_INTERSITE_COMPRESSION(значение для изменения флага —16) — признак отключения сжатия передаваемых данных при межсайтовой репликации (по умолчанию —NO); -
NTDSCONN_OPT_USER_OWNED_SCHEDULE(значение для изменения флага —32) — признак того, что используется пользовательское значение атрибута, задающего расписание репликации, для соединения, сформированного KCC, и KCC не должен изменять его (по умолчанию —NO);
-
-
enabledConnection— признак того, что соединение активно (возможные значения:TRUE|FALSE);
-
-
--set-ntds-option— установка флагов для соединения (объектаnTDSConnection) с указанным значениемobjectGUID.Формат задания значения параметра:
--set-ntds-option <nTDSConnection-GUID>=<value>
Элементы значения:
-
nTDSConnection-GUID— значениеobjectGUIDдля требуемого объектаnTDSConnection(может быть получено с помощью параметра--connections); -
value— объединение значений, соответствующих устанавливаемым флагам, побитовой операцией «ИЛИ» (например, для установки всех флагов необходимо передать значение63; для сброса всех опций —0; для установки флаговNTDSCONN_OPT_TWOWAY_SYNCиNTDSCONN_OPT_USE_NOTIFY—10и т. п.).
-
Примеры
Пример вывода списка соединений, используемых для репликации, на локальном контроллере домена:
sudo /app/inno-samba/scripts/checkrepl ntdsconnection --connections Establishing local connection Available nTDSConnections: DN: CN=8a7d05f1-0460-4f4c-9272-9f1d766bfc92,CN=NTDS Settings,CN=SMB-DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech cn: 8a7d05f1-0460-4f4c-9272-9f1d766bfc92 objectGUID: 89022593-14e6-46a5-bfa4-7a82b962791c fromServer: CN=NTDS Settings,CN=SMB-DC03,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech systemFlags: 1610612736 options: 1 NTDSCONN_OPT_IS_GENERATED: YES NTDSCONN_OPT_TWOWAY_SYNC: NO NTDSCONN_OPT_OVERRIDE_NOTIFY_DEFAULT: NO NTDSCONN_OPT_USE_NOTIFY: NO NTDSCONN_OPT_DISABLE_INTERSITE_COMPRESSION: NO NTDSCONN_OPT_USER_OWNED_SCHEDULE: NO enabledConnection: TRUE DN: CN=e3da4fce-89f8-4608-8393-219225cdff1c,CN=NTDS Settings,CN=SMB-DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech cn: e3da4fce-89f8-4608-8393-219225cdff1c objectGUID: 20f47ae6-1faf-4ce2-ba3c-4d6367a9f902 fromServer: CN=NTDS Settings,CN=WIN-DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech systemFlags: 1610612736 options: 1 NTDSCONN_OPT_IS_GENERATED: YES NTDSCONN_OPT_TWOWAY_SYNC: NO NTDSCONN_OPT_OVERRIDE_NOTIFY_DEFAULT: NO NTDSCONN_OPT_USE_NOTIFY: NO NTDSCONN_OPT_DISABLE_INTERSITE_COMPRESSION: NO NTDSCONN_OPT_USER_OWNED_SCHEDULE: NO enabledConnection: TRUE
Пример установки значения YES для опций NTDSCONN_OPT_TWOWAY_SYNC и NTDSCONN_OPT_USE_NOTIFY для первого соединения из списка:
-
Получите значения
objectGUIDи для удобства дальнейшей работы присвойте его переменной:guid=`sudo /app/inno-samba/scripts/checkrepl ntdsconnection --connections | grep -m 1 'objectGUID' | cut -c13-`
-
Вызовите скрипт с параметром
--set-ntds-option, переменной${guid}и значением, соответствующем установке двух требуемых опций:sudo /app/inno-samba/scripts/checkrepl ntdsconnection --set-ntds-option ${guid}=10
basedn, configdn, schemadn, forestdn, domaindn
Скрипт предоставляет следующие подкоманды для работы с разделами каталога:
-
basedn— корень дерева каталогов (DC=domain,DC=name); -
configdn— раздел конфигурации (CN=Configuration,DC=domain,DC=name); -
schemadn— раздел схемы (CN=Schema,CN=Configuration,DC=domain,DC=name); -
domaindn— раздел зон DNS уровня домена (DC=DomainDnsZones,DC=domain,DC=name); -
forestdn— раздел зон DNS уровня леса (DC=ForestDnsZones,DC=domain,DC=name).
Параметры
Подкоманды принимают параметры:
-
--show-repsfrom— вывод содержимого атрибутаrepsFrom, представляющего собой список контроллеров-источников для репликации изменений по определенному разделу каталога (соответствующему используемой подкоманде);Для каждого контроллера домена, являющегося партнером по репликации, выводится следующий набор данных:
-
Source DSA objectGUID— значениеobjectGUIDи сетевой адрес агента DSA контроллера-источника; -
Schedule— расписание периодической репликации для раздела каталога; -
значения флагов, управляющих вызовами методов DRSUAPI при выполнении задач репликации для раздела каталога (возможные значения:
YES|NO):-
DRSUAPI_DRS_WRIT_REP— признак репликации доступной для записи реплики; -
DRSUAPI_DRS_INIT_SYNC— признак необходимости репликации раздела с контроллера-источника при его запуске; -
DRSUAPI_DRS_PER_SYNC— признак необходимости периодической репликации раздела с контроллера-источника в соответствии с расписанием; -
DRSUAPI_DRS_MAIL_REP— признак необходимости репликации по протоколу SMTP; -
DRSUAPI_DRS_DISABLE_AUTO_SYNC— признак отключения репликации раздела по уведомлению с контроллера-источника; -
DRSUAPI_DRS_DISABLE_PERIODIC_SYNC— признак отключения периодической репликации раздела с контроллера-источника; -
DRSUAPI_DRS_USE_COMPRESSION— признак сжатия ответных сообщений в процессе репликации по каналу взаимодействия; -
DRSUAPI_DRS_TWOWAY_SYNC— признак необходимости запуска репликации в противоположном направлении по завершении цикла репликации; -
DRSUAPI_DRS_NONGC_RO_REP— признак репликации полной доступной для чтения копии раздела, но не доступной для записи или частичной копии раздела. -
DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS— признак наличия незавершенного цикла репликации; -
DRSUAPI_DRS_FULL_SYNC_PACKET— признак необходимости репликации всех изменений при выполнении запроса на репликацию, включая те, которые обычно исключаются из репликации в результате фильтрации; -
DRSUAPI_DRS_REF_GCSPN— признак необходимости добавления сервером отдельной записи вrepsToна корневом объекте реплицируемой копии раздела записи, указывающей контроллеру-клиенту о том, что при обращении к контроллеру-серверу необходимо использовать SPN-имя, начинающееся с "GC"; -
DRSUAPI_DRS_NEVER_SYNCED— признак отсутствия успешно завершенной попытки репликации с контроллера-источника; -
DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING— признак запрета репликации значений атрибутов, содержащих секреты; -
DRSUAPI_DRS_PREEMPTED— признак того, что попытке репликации должен предшествовать запрос репликации с более высоким приоритетом; -
DRSUAPI_DRS_NEVER_NOTIFY— признак запрета отправки уведомлений об изменениях; -
DRSUAPI_DRS_SYNC_PAS— признак необходимости расширения набора атрибутов частичной реплики;
-
-
Transport GUID— значениеobjectGUIDтранспорта, используемого при взаимодействии в рамках репликации; -
source DSA invocationId— версия базы данных каталога контроллера-источника (значениеinvocationIdагента DSA контроллера-источника); -
Consecutive sync failures— количество идущих подряд неуспешных попыток репликации; -
Last success— дата и время последней успешной попытки репликации (в формате 18-значных временных меток); -
Last attempt— дата и время последней попытки репликации (в формате 18-значных временных меток); -
HWM highestUSN— максимальное значение порядкового номера обновления (USN) для раздела каталога, используемое в качестве High Water Mark (обновляется после завершения полного цикла репликации); -
HWM TMP highestUSN— максимальное зафиксированное значение USN для раздела каталога, используемое в качестве High Water Mark (обновляется после репликации изменений для каждого отдельного объекта); -
HWM reservedUSN— зарезервированное значение USN для раздела каталога, используемое в качестве High Water Mark;
-
-
--show-repsto— вывод содержимого атрибутаrepsTo, представляющего собой список контроллеров домена, которые текущий контроллер уведомляет об изменениях и которым по запросу отправляет изменения по определенному разделу каталога (соответствующему используемой подкоманде) в процессе репликации;Для каждого контроллера домена, являющегося партнером по репликации, выводится набор данных, аналогичный набору для параметра
--show-repsfrom. -
--show-udv— вывод содержимого атрибутаreplUpToDateVectorдля раздела каталога;Для каждого контроллера домена, являющегося партнером по репликации, выводится следующий набор данных:
-
DSA invoication ID— версия базы данных каталога партнера по репликации (значениеinvocationIdагента DSA); -
DSA objectGUID— значениеobjectGUIDагента DSA партнера по репликации; -
highestUSN— максимальное значение порядкового номера обновления (USN), полученное при последней успешной попытке репликации изменений; -
Sync latency— промежуток времени (в секундах) между фиксацией изменения в раздел каталога на контроллере-источнике и отражением этого изменения на целевом контроллере домена в результате репликации;
-
-
--drop-repsfrom— удаление текущего содержимого атрибутаrepsFromдля раздела каталога;При использовании данного параметра выполняется потенциально деструктивная операция, которая может привести к непредвиденным проблемам с репликацией. Вызов скрипта с ним возможен только локально. -
--drop-repsto— удаление текущего содержимого атрибутаrepsToдля раздела каталога;При использовании данного параметра выполняется потенциально деструктивная операция, которая может привести к непредвиденным проблемам с репликацией. Вызов скрипта с ним возможен только локально. -
--drop-udn— удаление текущего содержимого атрибутаreplUpToDateVectorдля раздела каталога;При использовании данного параметра выполняется потенциально деструктивная операция, которая может привести к непредвиденным проблемам с репликацией. Вызов скрипта с ним возможен только локально. -
--set-repsfrom-usn— установка максимального значения (USN) для атрибутаrepsFromраздела каталога;Формат задания значения параметра:
--set-repsfrom-usn <invocationId>=<uSNHighest> [<invocationId>=<uSNHighest>]...
Чтобы изменить USN для нескольких партнеров по репликации, перечислите требуемые пары значений
invocationIdиuSNHighestчерез пробел. Для получения значенийinvocationIdиспользуйте, например, скрипт:sudo /app/inno-samba/scripts/checkrepl info --dsa-table
При использовании данного параметра выполняется потенциально деструктивная операция, которая может привести к непредвиденным проблемам с репликацией. Вызов скрипта с ним возможен только локально. -
--set-repsto-usn— установка максимального значения (USN) для атрибутаrepsToраздела каталога;Формат задания значения параметра:
--set-repsto-usn <invocationId>=<uSNHighest> [<invocationId>=<uSNHighest>]...
Чтобы изменить USN для нескольких партнеров по репликации, перечислите требуемые пары значений
invocationIdиuSNHighestчерез пробел. Для получения значенийinvocationIdиспользуйте, например, скрипт:sudo /app/inno-samba/scripts/checkrepl info --dsa-table
При использовании данного параметра выполняется потенциально деструктивная операция, которая может привести к непредвиденным проблемам с репликацией. Вызов скрипта с ним возможен только локально. -
--set-udv-usn— установка максимального значения атрибутаreplUpToDateVectorдля раздела каталога;Формат задания значения параметра:
--set-udv-usn <invocationId>=<uSNHighest> [<invocationId>=<uSNHighest>]...
Чтобы изменить USN для нескольких партнеров по репликации, перечислите требуемые пары значений
invocationIdиuSNHighestчерез пробел. Для получения значенийinvocationIdиспользуйте, например, скрипт:sudo /app/inno-samba/scripts/checkrepl info --dsa-table
При использовании данного параметра выполняется потенциально деструктивная операция, которая может привести к непредвиденным проблемам с репликацией. Вызов скрипта с ним возможен только локально. -
--syncto— DCE/RPC-вызов функцииIDL_DRSReplicaSyncна указанном контроллере домена;Формат задания значения параметра:
--syncto <objectGUID> [<objectGUID>]...
Чтобы вызвать функцию
IDL_DRSReplicaSyncна нескольких контроллерах домена, перечислите значения атрибутовobjectGUIDагентов DSA через пробел. Для получения значенийobjectGUIDиспользуйте, например, скрипт:sudo /app/inno-samba/scripts/checkrepl info --dsa-table
При использовании данного параметра выполняется потенциально деструктивная операция. Вызов скрипта с ним возможен только локально. -
--syncfrom— получение изменений в разделе каталога путем отправки DCE/RPC-вызовов функцииIDL_DRSReplicaSyncна указанный контроллер домена;Формат задания значения параметра:
--syncto <objectGUID> [<objectGUID>]...
Чтобы вызвать функцию
IDL_DRSReplicaSyncна нескольких контроллерах домена, перечислите значения атрибутовobjectGUIDагентов DSA через пробел. Для получения значенийobjectGUIDиспользуйте, например, скрипт:sudo /app/inno-samba/scripts/checkrepl info --dsa-table
При использовании данного параметра выполняется потенциально деструктивная операция. Вызов скрипта с ним возможен только локально.
Примеры
Пример вывода значения атрибута repsFrom:
sudo /app/inno-samba/scripts/checkrepl --server=win-dc01.inno.tech basedn --show-repsfrom Connecting to ldap://win-dc01.inno.tech --- Checking DC=domain,DC=name Found repsFrom blob: Source DSA objectGUID 350efbad-9994-418d-94bd-f67ebc2f093a 350efbad-9994-418d-94bd-f67ebc2f093a._msdcs.inno.tech 350efbad-9994-418d-94bd-f67ebc2f093a._msdcs.inno.tech Schedule [17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17] DRSUAPI_DRS_WRIT_REP: YES DRSUAPI_DRS_INIT_SYNC: YES DRSUAPI_DRS_PER_SYNC: YES DRSUAPI_DRS_MAIL_REP: NO DRSUAPI_DRS_DISABLE_AUTO_SYNC: NO DRSUAPI_DRS_DISABLE_PERIODIC_SYNC: NO DRSUAPI_DRS_USE_COMPRESSION: NO DRSUAPI_DRS_TWOWAY_SYNC: NO DRSUAPI_DRS_NONGC_RO_REP: NO DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS: NO DRSUAPI_DRS_FULL_SYNC_PACKET: NO DRSUAPI_DRS_REF_GCSPN: NO DRSUAPI_DRS_NEVER_SYNCED: NO DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING: NO DRSUAPI_DRS_PREEMPTED: NO DRSUAPI_DRS_NEVER_NOTIFY: NO DRSUAPI_DRS_SYNC_PAS: NO Transport GUID 00000000-0000-0000-0000-000000000000 source DSA invocationId 5d6827b5-7383-4e63-a95c-bfceb2a27bab Consecutive sync failures 0 Last success 133721636900000000 Last attempt 133721636900000000 HWM highestUSN 20012 HWM TMP highestUSN 20012 HWM reservedUSN 0 Found repsFrom blob: Source DSA objectGUID 7737e10c-03aa-40fe-9fd8-f3c9b3cf598d 7737e10c-03aa-40fe-9fd8-f3c9b3cf598d._msdcs.inno.tech 7737e10c-03aa-40fe-9fd8-f3c9b3cf598d._msdcs.inno.tech Schedule [17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17] DRSUAPI_DRS_WRIT_REP: YES DRSUAPI_DRS_INIT_SYNC: YES DRSUAPI_DRS_PER_SYNC: YES DRSUAPI_DRS_MAIL_REP: NO DRSUAPI_DRS_DISABLE_AUTO_SYNC: NO DRSUAPI_DRS_DISABLE_PERIODIC_SYNC: NO DRSUAPI_DRS_USE_COMPRESSION: NO DRSUAPI_DRS_TWOWAY_SYNC: NO DRSUAPI_DRS_NONGC_RO_REP: NO DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS: NO DRSUAPI_DRS_FULL_SYNC_PACKET: NO DRSUAPI_DRS_REF_GCSPN: NO DRSUAPI_DRS_NEVER_SYNCED: NO DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING: NO DRSUAPI_DRS_PREEMPTED: NO DRSUAPI_DRS_NEVER_NOTIFY: NO DRSUAPI_DRS_SYNC_PAS: NO Transport GUID 00000000-0000-0000-0000-000000000000 source DSA invocationId 04a3d3ec-5dff-4149-b7e1-91ce94c7e435 Consecutive sync failures 0 Last success 133721636860000000 Last attempt 133721636860000000 HWM highestUSN 21829 HWM TMP highestUSN 21829 HWM reservedUSN 0
Пример вывода содержимого атрибута replUpToDateVector для раздела схемы:
sudo /app/inno-samba/scripts/checkrepl --server=smb-dc03.inno.tech schemadn --show-udv Connecting to ldap://smb-dc03.inno.tech --- Checking CN=Schema,CN=Configuration,DC=inno,DC=tech DSA invocation ID: 5d6827b5-7383-4e63-a95c-bfceb2a27bab DSA objectGUID: 350efbad-9994-418d-94bd-f67ebc2f093a (CN=NTDS Settings,CN=SMB-DC02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech) highestUSN: 20057 Time from last sync success: NEVER DSA invocation ID: 62430164-702b-4673-b09a-50e1c3416d14 DSA objectGUID: 62430164-702b-4673-b09a-50e1c3416d14 (CN=NTDS Settings,CN=WIN-DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=inno,DC=tech) highestUSN: 418584 Sync latency (seconds): 1337.2172197
Пример удаления текущего содержимого атрибута repsFrom для раздела каталога:
sudo /app/inno-samba/scripts/checkrepl basedn --drop-repsfrom
| При использовании данного параметра выполняется потенциально деструктивная операция, которая может привести к непредвиденным проблемам с репликацией. Вызов скрипта с ним возможен только локально. |
Пример установки значения USN для раздела каталога:
-
Получите значения
invocationIdдля требуемого контроллера домена и для удобства дальнейшей работы присвойте его переменной:invocationid=`sudo /app/inno-samba/scripts/checkrepl info --dsa-table | grep -m 1 'smb-dc03' | cut -d '|' -f4`
-
Вызовите скрипт с параметром
--set-udv-usn, переменной${invocationid}и новым значениемuSNHighest:sudo /app/inno-samba/scripts/checkrepl basedn --set-udv-usn ${invocationid}=0При использовании данного параметра выполняется потенциально деструктивная операция, которая может привести к непредвиденным проблемам с репликацией. Вызов скрипта с ним возможен только локально.
Пример вызова функции IDL_DRSReplicaSync:
-
Получите значения
objectGUIDи для удобства дальнейшей работы присвойте его переменной:guid=`sudo /app/inno-samba/scripts/checkrepl info --dsa-table | grep -m 1 'smb-dc03' | cut -d '|' -f3`
-
Вызовите скрипт с подкомандой для требуемого раздела каталога, дополнительным параметром
--synctoи переменной${guid}:sudo /app/inno-samba/scripts/checkrepl basedn --syncto=${guid} Establishing local connection --- Checking DC=inno,DC=tech uSNHighest: 18885 uSNUrgent: 18728 Synchronizing DC=inno,DC=tech to 7737e10c-03aa-40fe-9fd8-f3c9b3cf598d Connecting to: ncacn_ip_tcp:7737e10c-03aa-40fe-9fd8-f3c9b3cf598d._msdcs.inno.tech[seal,print]При использовании данного параметра выполняется потенциально деструктивная операция. Вызов скрипта с ним возможен только локально.