Работа с repadmin

repadmin — утилита командной строки, предназначенная для диагностики и исправления проблем с репликацией в Active Directory. Она входит в состав Windows Server и доступна через набор инструментов Remote Server Administration Tools (RSAT), что позволяет использовать ее на клиентских версиях Windows (Windows 10, Windows 11).

Поскольку контроллер домена Эллес может вводиться в домен Active Directory и включаться в контур репликации, он обеспечивает совместимость с утилитой repadmin для оперативного выявления и устранения проблем репликации.

В разделе описываются некоторые из доступных подкоманд repadmin с примерами их использования для диагностики участия контроллера домена Эллес в процессе репликации в Active Directory.

См. описание синтаксиса, параметров и подкоманд repadmin, а также инструкции по использованию repadmin для диагностики и устранения проблем репликации в официальной документации Microsoft.

Предварительные требования

repadmin является утилитой Windows и не может быть запущена на сервере с контроллером домена Эллес.

Возможные варианты запуска:

  • контроллер домена Windows Server;

  • клиентская система Windows (Windows 10/11 Pro, Enterprise) с установленным набором инструментов RSAT.

Файл утилиты обычно расположен по пути:

C:\Windows\System32\repadmin.exe

Для клиентских систем требуется установка следующих компонентов RSAT:

  • RSAT: Active Directory Domain Services and Lightweight Directory Services Tools;

  • RSAT: Active Directory Administrative Center;

  • RSAT: Active Directory PowerShell.

После установки RSAT repadmin становится доступна без дополнительной настройки.

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

  • рекомендуется: членство в группе Domain Admins;

  • минимально допустимо: права, позволяющие читать конфигурационный и доменный разделы каталога.

Подкоманды, анализирующие метаданные объектов (/showobjmeta, /showchanges), требуют административных прав и не работают под обычным пользователем домена.

Общий синтаксис

repadmin <подкоманда> <аргументы> [/u:{домен\пользователь}] [/pw:{пароль | *}] [/retry[:<повторы>][:<задержка>]] [/csv]

Параметры:

  • подкоманда — выполняемая операция;

  • /u — домен и имя пользователя с правами для выполнения вызываемой операции (домен и имя пользователя разделяются косой чертой);

    Параметр не поддерживает использование UPN для выполнения аутентификации в домене.

  • /pw — пароль для пользователя, указанного в параметре /u;

  • /retry — попытки подключения при ошибках RPC-вызовов;

  • /csv/ — вывод в CSV-формате.

Для многих подкоманд первым аргументом должен быть список контроллеров домена (DC_LIST) в формате:

{<имя_КД> | * |<частичное_имя_сервера>* | site:<имя_сайта> |gc: |fsmo_<тип>:[<имя> | <имя_сайта>]}

Список может содержать:

  • имя контроллера домена (DNS-имя, NetBIOS-имя или IP-адрес);

  • * — все контроллеры домена в лесу;

  • маска имени контроллера домена;

  • site:<имя_сайта> — все контроллеры домена в конкретном сайте;

  • gc — все серверы глобального каталога;

  • fsmo_<тип> — контроллеры домена с указанной FSMO-ролью (например: fsmo_pdc:[раздел_каталога], fsmo_rid:[раздел_каталога], fsmo_im:[раздел_каталога], fsmo_istg:[<имя_сайта>], fsmo_dnm:, fsmo_schema:).

Общие параметры

Ряд параметров может использоваться практически во всех сценариях диагностики:

  • /verbose — расширенный вывод, который может быть полезен для анализа сложных ситуаций;

  • /latency — показывает задержки репликации;

  • /errorsonly — выводит только ошибки;

  • /homeserver:<имя_КД> — выполняет операцию от имени указанного контроллера домена;

  • /nocache — игнорирует локальный RPC-кэш.

/showutdvec

Подкоманда отображает наибольший поддерживаемый последовательный номер обновления (Update Sequence Number, USN), зарегистрированный на указанном контроллере домена для заданного раздела каталога, а также время последнего обновления USN. В данном случае подкоманда возвращает содержимое вектора up-to-dateness (UTDVEC) для указанного доменного контроллера.

Синтаксис

repadmin /showutdvec <DC_LIST> <раздел_каталога> [/nocache] [/latency]

Параметры:

Примеры

Пример получения максимального значения USN на контроллере домена Эллес EllesDC1 для доменного раздела:

repadmin /showutdvec ellesdc1 dc=elles,dc=inno,dc=tech

В списке для каждого контролера указывается:

  • USN — целое число;

  • Time — время в формате YYYY-MM-DD hh:mm:ss.

Например:

Default-First-Site-Name\ELLESDC1     @ USN     21881 @ Time 2025-12-23 13:23:26

/showchanges

Подкоманда отображает изменения по репликации для указанного раздела каталога или указанного объекта.

Она может использоваться для определения изменений, которые еще не были реплицированы между двумя контроллерами домена — партнерами по репликации, или для отслеживания статистики изменений, которые были реплицированы между этими партнерами.

Поддерживается два варианта работы.

Вариант 1

Подкоманда показывает:

  • изменения, полученные для указанного раздела каталога;

  • при указании ключа /statistics — статистику по количеству изменений объектов.

Синтаксис

repadmin/showchanges <имя_или_GUID_КД> <раздел_каталога> [/cookie: <файл>] [/atts: <атрибут1>,<атрибут2>,...] [/statistics]

Параметры:

  • имя_или_GUID_КД — имя хоста или значение DSA object GUID контроллера домена, где размещается раздел каталога, информацию по изменениям в котором требуется получить;

  • раздел_каталога — DN раздела каталога, информацию по изменениям в котором требуется получить;

  • /cookie — имя файла для сохранения списка изменений;

  • /atts — список атрибутов (через запятую без пробелов), информацию по которым требуется получить;

  • /statistics — отображать сводную информацию по изменениям вместо списка отдельных изменений.

Примеры

Пример получения изменений для указанного раздела каталога:

repadmin /showchanges ellesdc1 dc=elles,dc=inno,dc=tech

Подкоманда отображает список изменений объектов. Для каждого объекта представлен список изменений атрибутов. Для каждого атрибута также указано количество значений в формате <количество> > <имя атрибута>: <значения атрибута>.

Пример получения сводной информации по количеству изменений:

repadmin /showchanges ellesdc1 dc=elles,dc=inno,dc=tech /statistics

Подкоманда возвращает статистику изменений объектов.

Например:

Using empty cookie (full sync).
==== SOURCE DSA: ellesdc1 ====
********* Cumulative packet totals ************
Packets:              1
Objects:              2
Object Additions:     0
Object Modifications: 2
Object Deletions:     0
Object Moves:         0
Attributes:           6
Values:               6
Dn-valued Attributes: 2
MaxDnVals on any attr:1
ObjectDn with maxattr:C
Attrname with maxattr:i
#dnvals 1-250   251-500 501-750 751-1000 1000+
add     0       0       0       0        0
mod     2       0       0       0        0
***********************************************
********* Grand total *************************
Packets:              1
Objects:              2
Object Additions:     0
Object Modifications: 2
Object Deletions:     0
Object Moves:         0
Attributes:           6
Values:               6
Dn-valued Attributes: 2
MaxDnVals on any attr:1
ObjectDn with maxattr:C
Attrname with maxattr:i
#dnvals 1-250   251-500 501-750 751-1000 1000+
add     0       0       0       0        0
mod     2       0       0       0        0
***********************************************

Вариант 2

Подкоманда показывает состояние репликации для контроллера домена с указанного источника для заданного раздела каталога.

Синтаксис

repadmin /showchanges <имя_КД> <DSA_GUID_источника> <раздел_каталога> [/verbose] [/statistics] [/noincremental] [/objectsecurity] [/ancestors] [/atts: <атрибут1>,<атрибут2>,...] [/filter: <ldap_фильтр>]

Параметры:

  • имя_КД — имя контроллера домена (DNS-имя, NetBIOS-имя или IP-адрес);

  • DSA_GUID_источника — значение DSA object GUID контроллера домена — источника изменений;

    Для получения значения DSA object GUID может использоваться подкоманда samba-tool drs showrepl на контроллере домена Эллес или repadmin /showreps на контроллере домена Windows Server.
  • раздел_каталога — DN раздела каталога, информацию по изменениям в котором требуется получить;

  • /statistics — отобразить статистику изменений объектов;

  • /noincremental — выполнить полную (неинкрементальную) синхронизацию для получения списка изменений вместо использования стандартного векторного обновления (USN);

  • /objectsecurity — включать в вывод информацию об изменениях в дескрипторе безопасности;

  • /ancestors — отображать изменения не только для указанного объекта, но и для всех его родительских контейнеров вплоть до корня раздела;

  • /atts — отображаться изменения только для указанных атрибутов;

  • /filter — отображать изменения, соответствующие заданному LDAP-фильтру.

Примеры

Пример получения информации о состоянии репликации с одного контроллера Эллес (EllesDC2), для которого в вызове указано значение DSA object GUID, на другой контроллер Эллес (EllesDC1):

repadmin /showchanges ellesdc1 db8c0efe-5d46-4819-8ebd-29a5c7791e7c dc=elles,dc=inno,dc=tech

Подкоманда возвращает значения USN для указанного источника, время и статус последней попытки репликации, список ожидающих репликации изменений (при наличии) и т. д.

Например:

Building starting position from destination server ellesdc1
Source Neighbor:
dc=elles,dc=inno,dc=tech
pszDsa = db8c0efe-5d46-4819-8ebd-29a5c7791e7c._msdcs.testk.lan
==== INBOUND NEIGHBORS ======================================

dc=elles,dc=inno,dc=tech
    Default-First-Site-Name\ELLESDC2 via RPC
        DSA object GUID: db8c0efe-5d46-4819-8ebd-29a5c7791e7c
        Address: db8c0efe-5d46-4819-8ebd-29a5c7791e7c._msdcs.testk.lan
        DSA invocationID: a55289e4-b93d-4a82-b972-c48b8c74f9e8
        SYNC_ON_STARTUP DO_SCHEDULED_SYNCS
        USNs: 15026/OU, 15026/PU
        Last attempt @ 2025-12-24 10:50:51 was successful.

Destination's up-to-date vector:
0fc73512-6361-47fd-ad91-f8593eb9a907 @ USN 482775
3481f529-2333-4192-8ec2-65834d5857c5 @ USN 181131
3e1a5834-ae6e-4854-b441-73644a65af52 @ USN 16839
4473f025-cc86-4275-96d0-f520aece21c4 @ USN 21883
a55289e4-b93d-4a82-b972-c48b8c74f9e8 @ USN 15113
==== SOURCE DSA: (null) ====
No Changes

/addrepsto

Подкоманда добавляет для контроллера домена партнера, которому будут отсылаться исходящие уведомления об изменениях для указанного раздела каталога. В результате работы подкоманды на контроллере домена устанавливается атрибут repsTo для объекта соответствующего раздела каталога.

В условиях обычной эксплуатации нет необходимости выполнять эту команду, так как KCC автоматически создает атрибуты repsTo на целевых контроллерах домена (DSA) на основе записей repsFrom других контроллеров домена (DSA).

Синтаксис

repadmin/addrepsto <раздел_каталога> <имя_КД_источника> <имя_партнера_repsTo> <DSA_GUID_партнера_repsTo>

Параметры:

  • раздел_каталога — раздел каталога, для которого требуется установить атрибут repsTo;

  • имя_КД_источника — имя контроллера домена (DNS-имя, NetBIOS-имя или IP-адрес);

  • имя_партнера_repsTo — имя контроллера домена — партнера по репликации, которому должны отсылаться исходящие уведомления об изменения в указанном разделе каталога;

  • DSA_GUID_партнера_repsTo — значение DSA object GUID контроллера домена — партнера по репликации, которому должны отсылаться исходящие уведомления об изменениях в указанном разделе каталога.

    Для получения значения DSA object GUID может использоваться подкоманда samba-tool drs showrepl на контроллере домена Эллес или repadmin /showreps на контроллере домена Windows Server.

Примеры

Пример добавления партнера для отправки уведомлений об изменениях:

repadmin /addrepsto dc=elles,dc=inno,dc=tech ellesdc1 ellesdc2 db8c0efe-5d46-4819-8ebd-29a5c7791e7c

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

Ели атрибут repsTo уже заполнен, подкоманда завершается ошибкой.

/showvalue

Подкоманда отображает параметры репликации для исходящей стороны (forward link) связанных атрибутов (linked attributes) объектов.

Синтаксис

repadmin/showvalue [DC_LIST] <DN_объекта> [имя_атрибута] [DN_атрибута] [/nocache]

Параметры:

Примеры

Пример отображения данных по репликации для связанного атрибута member в объекте группы:

repadmin /showvalue ellesdc2 "CN=group1,CN=Users,DC=ELLES,DC=INNO,DC=TECH" member

Результат — список результирующих изменений исходящих связей связанных атрибутов объекта.

Для каждой исходящей связи отображаются:

  • присутствует или отсутствует (была удалена) связь в атрибуте (PRESENT/ABSENT);

  • имя связанного атрибута;

  • время последнего изменения атрибута;

  • контроллер домена, на котором произошло изменение (Originating DSA);

  • локальный USN для атрибута (Loc.USN);

  • оригинальный USN для атрибута (Org.USN );

  • версия исходящей связи;

  • DN объекта, на который указывает связь в связанном атрибуте.

Например:

2 entries.
Type    Attribute     Last Mod Time                            Originating DSA  Loc.USN Org.USN Ver
======= ============  =============                           ================= ======= ======= ===
        Distinguished Name
        =============================
PRESENT       member 2025-12-24 16:10:18        Default-First-Site-Name\ELLESDC2  483368  483368   1
        CN=user10,CN=Users,DC=elles,DC=inno,DC=tech
ABSENT        member 2025-12-24 16:10:46        Default-First-Site-Name\ELLESDC2  483372  483372   2
        CN=user11,CN=Users,DC=elles,DC=inno,DC=tech

/showobjmeta

Подкоманда отображает метаданные репликации для указанного объекта, в том числе для объекта, перемещенного в корзину.

Синтаксис

repadmin /showobjmeta [DC_LIST] <DN_объекта> [/nocache] [/linked]

Параметры:

  • DC_LIST — список контроллеров домена через пробел;

  • DN_объекта — DN объекта каталога;

  • /linked — отображать метаданные, которые связаны с указанным объектом, но не хранятся с ним.

Примеры

Пример получения метаданных репликации для объекта, помещенного в корзину:

repadmin /showobjmeta ellesdc1 "CN=user1\0ADEL:2901481d-86ba-4889-b0a3-481ba5bdbca4,CN=Deleted Objects,DC=elles,DC=inno,DC=tech"

Пример получения метаданных репликации для обычного объекта:

repadmin /showobjmeta ellesdc2 "CN=group1,DC=elles,DC=inno,DC=tech"

Подкоманда возвращает список метаданных репликации для атрибутов объекта:

  • локальный USN для атрибута (Loc.USN);

  • контроллер домена, на котором произошло изменение (Originating DSA);

  • оригинальный USN для атрибута (Org.USN );

  • время и дата изменения;

  • версия атрибута;

  • имя атрибута.

Например:

11 entries.
Loc.USN                           Originating DSA  Org.USN  Org.Time/Date        Ver Attribute
=======                           =============== ========= =============        === =========
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 objectClass
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 cn
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 instanceType
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 whenCreated
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 nTSecurityDescriptor
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 name
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 objectSid
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 sAMAccountName
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 sAMAccountType
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 groupType
 483357           Default-First-Site-Name\ELLESDC2    483357 2025-12-24 16:09:24    1 objectCategory
2 entries.
Type    Attribute     Last Mod Time                            Originating DSA  Loc.USN Org.USN Ver
======= ============  =============                           ================= ======= ======= ===
        Distinguished Name
        =============================
PRESENT       member 2025-12-24 16:10:18        Default-First-Site-Name\ELLESDC2  483368  483368   1
        CN=user10,CN=Users,DC=DC=elles,DC=inno,DC=tech
ABSENT        member 2025-12-24 16:10:46        Default-First-Site-Name\ELLESDC2  483372  483372   2
        CN=user11,CN=Users,DC=DC=elles,DC=inno,DC=tech