W tym wpisie dowiesz się, jak używać narzędzia repadmin do sprawdzania replikacji usługi Active Directory. Repadmin to najlepsze narzędzie do diagnostyki replikacji. Oprócz sprawdzania stanu kontrolerów domeny można go również używać do wymuszania replikacji i wskazywania błędów. Do przeprowadzenia przykładów, które znajdują się poniżej potrzebne będą dwie maszyny: DC01 oraz DC02.
Replikacja usługi Active Directory to usługa o znaczeniu krytycznym, która zapewnia synchronizację zmian z innymi kontrolerami domeny w lesie. Problemy z replikacją mogą powodować błędy uwierzytelniania i problemy z dostępem do zasobów sieciowych (plików, drukarek, aplikacji).
Jak zainstalować Repadmina?
Repadmin został wprowadzony w 2003 roku wraz z narzędziami obsługi systemu Windows Server 2003. Firma Microsoft zaczęła dołączać polecenie repadmin do systemu Windows Server 2008 i nowszych. Znajduje się również na każdym komputerze, na którym zainstalowano Narzędzia administracji zdalnej serwera (RSAT).
Repadmin przykłady użycia
Aby użyć repadmin, musisz uruchomić wiersz poleceń jako administrator. Kliknij prawym przyciskiem myszy cmd i wybierz opcję Uruchom jako administrator.
Przykład 1: Wyświetl menu pomocy repadmin:
Użyj następującego polecenia, aby wyświetlić menu pomocy, spowoduje to wyświetlenie wszystkich opcji wiersza poleceń. Możliwości jest wiele i prawdopodobnie z większości z nich nie skorzystasz. W poniższych przykładach omówię najczęstsze i najbardziej przydatne opcje wiersza poleceń.
1 |
repadmin /? |
Wyświetlane wyniki:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
C:\Users\beitadminpl>repadmin /? Usage: repadmin [/u:{domain\user}] [/pw:{password|*}] [/retry[:][:]] [/csv] Use these commands to see the help: /? Displays a list of commands available for use in repadmin and their description. /help Same as /? /?: Displays the list of possible arguments , appropriate syntaxes and examples for the specified command . /help: Same as /?: /experthelp Displays a list of commands for use by advanced users only. /listhelp Displays the variations of syntax available for the DSA_NAME, DSA_LIST, NCNAME and OBJ_LIST strings. /oldhelp Displays a list of deprecated commands that still work but are no longer supported by Microsoft. Supported commands (use /? for detailed help): /kcc Forces the KCC on targeted domain controller(s) to immediately recalculate its inbound replication topology. /prp This command allows an admin to view or modify the password replication policy for RODCs. /queue Displays inbound replication requests that the DC needs to issue to become consistent with its source replication partners. /replicate Triggers the immediate replication of the specified directory partition to the destination domain controller from the source DC. /replsingleobj Replicates a single object between any two domain controllers that have common directory partitions. /replsummary The replsummary operation quickly and concisely summarizes the replication state and relative health of a forest. /rodcpwdrepl Triggers replication of passwords for the specified user(s) from the source (Hub DC) to one or more Read Only DC's. /showattr Displays the attributes of an object. /showobjmeta Displays the replication metadata for a specified object stored in Active Directory, such as attribute ID, version number, originating and local Update Sequence Number (USN), and originating server's GUID and Date and Time stamp. /showrepl Displays the replication status when specified domain controller last attempted to inbound replicate Active Directory partitions. /showutdvec displays the highest committed Update Sequence Number (USN) that the targeted DC's copy of Active Directory shows as committed for itself and its transitive partners. /syncall Synchronizes a specified domain controller with all replication partners. Supported additional parameters: /u: Specifies the domain and user name separated by a backslash {domain\user} that has permissions to perform operations in Active Directory. UPN logons not supported. /pw: Specifies the password for the user name entered with the /u parameter. /retry This parameter will cause repadmin to repeat its attempt to bind to the target dc should the first attempt fail with one of the following error status: 1722 / 0x6ba : "The RPC Server is unavailable" 1753 / 0x6d9 : "There are no more endpoints available from the endpoint mapper" /csv Used with /showrepl to output results in comma separated value format. See /csvhelp |
Przykład 2: Podsumuj stan replikacji i wyświetl ogólną kondycję:
Pierwszym poleceniem, którego powinieneś użyć, jest replsummary. To polecenie szybko pokaże ogólny stan replikacji. To polecenie pokaże procent prób replikacji, które zakończyły się niepowodzeniem, a także największe delty replikacji.
1 |
repadmin /replsummary |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
C:\WINDOWS\system32>repadmin /replsummary Replication Summary Start Time: 2023-06-09 16:44:54 Beginning data collection for replication summary, this may take awhile: ..... Source DSA largest delta fails/total %% error DC01 52m:48s 0 / 5 0 DC02 52m:46s 0 / 5 0 Destination DSA largest delta fails/total %% error DC01 52m:46s 0 / 5 0 DC02 52m:48s 0 / 5 0 |
Przykład 3: Pokaż partnera replikacji i stan:
Następnie użyj następującego polecenia, aby wyświetlić partnera replikacji oraz stan replikacji. Pomaga to zrozumieć rolę każdego kontrolera domeny w procesie replikacji.
Ponadto to polecenie wyświetla identyfikator GUID każdego replikowanego obiektu i jego wynik. Jest to pomocne w określeniu, które obiekty nie mogą się replikować.
1 |
repadmin /showrepl |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
C:\Users\beitadminpl>repadmin /showrepl Repadmin: running command /showrepl against full DC dc01.beitadminpl.local Default-First-Site-Name\DC01 DSA Options: IS_GC Site Options: (none) DSA object GUID: a5d22a63-1918-492a-bcd6-7fe286941e72 DSA invocationID: a5d22a63-1918-492a-bcd6-7fe286941e72 ==== INBOUND NEIGHBORS ====================================== DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:48:08 was successful. CN=Configuration,DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:48:08 was successful. CN=Schema,CN=Configuration,DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:48:08 was successful. DC=DomainDnsZones,DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:48:08 was successful. DC=ForestDnsZones,DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:48:08 was successful. |
Przykład 4: Pokaż partnera replikacji dla określonego kontrolera domeny
Jeśli chcesz zobaczyć stan replikacji dla określonego kontrolera domeny, użyj tego polecenia.
Zastąp <ServerName> nazwą swojego kontrolera domeny.
1 |
repadmin /showrepl <ServerName> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
C:\WINDOWS\system32>repadmin /showrepl dc02 Default-First-Site-Name\DC02 DSA Options: IS_GC Site Options: (none) DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 DSA invocationID: 2fb95693-bfa7-4f3f-b52c-139737aa883f ==== INBOUND NEIGHBORS ====================================== DC=beitadminpl,DC=local Default-First-Site-Name\DC01 via RPC DSA object GUID: a5d22a63-1918-492a-bcd6-7fe286941e72 Last attempt @ 2023-06-09 16:52:02 was successful. CN=Configuration,DC=beitadminpl,DC=local Default-First-Site-Name\DC01 via RPC DSA object GUID: a5d22a63-1918-492a-bcd6-7fe286941e72 Last attempt @ 2023-06-09 16:52:02 was successful. CN=Schema,CN=Configuration,DC=beitadminpl,DC=local Default-First-Site-Name\DC01 via RPC DSA object GUID: a5d22a63-1918-492a-bcd6-7fe286941e72 Last attempt @ 2023-06-09 16:52:02 was successful. DC=DomainDnsZones,DC=beitadminpl,DC=local Default-First-Site-Name\DC01 via RPC DSA object GUID: a5d22a63-1918-492a-bcd6-7fe286941e72 Last attempt @ 2023-06-09 16:52:02 was successful. DC=ForestDnsZones,DC=beitadminpl,DC=local Default-First-Site-Name\DC01 via RPC DSA object GUID: a5d22a63-1918-492a-bcd6-7fe286941e72 Last attempt @ 2023-06-09 16:52:02 was successful. |
Przykład 5: Pokaż tylko błędy replikacji
Polecenie showrepl może wyświetlić wiele informacji. Jeśli chcesz zobaczyć tylko błędy, użyj tego polecenia. W tym przykładzie DC02 nie działa, widać, że wszystkie wyniki to błędy z DC02.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
C:\WINDOWS\system32>repadmin /showrepl /errorsonly Repadmin: running command /showrepl against full DC dc01.beitadminpl.local Default-First-Site-Name\DC01 DSA Options: IS_GC Site Options: (none) DSA object GUID: a5d22a63-1918-492a-bcd6-7fe286941e72 DSA invocationID: a5d22a63-1918-492a-bcd6-7fe286941e72 ==== INBOUND NEIGHBORS ====================================== DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:55:45 failed, result 8524 (0x214c): The DSA operation is unable to proceed because of a DNS lookup failure. 1 consecutive failure(s). Last success @ 2023-06-09 16:48:08. CN=Configuration,DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:55:45 failed, result 8524 (0x214c): The DSA operation is unable to proceed because of a DNS lookup failure. 1 consecutive failure(s). Last success @ 2023-06-09 16:48:08. CN=Schema,CN=Configuration,DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:55:45 failed, result 8524 (0x214c): The DSA operation is unable to proceed because of a DNS lookup failure. 1 consecutive failure(s). Last success @ 2023-06-09 16:48:08. DC=DomainDnsZones,DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:55:45 failed, result 8524 (0x214c): The DSA operation is unable to proceed because of a DNS lookup failure. 1 consecutive failure(s). Last success @ 2023-06-09 16:48:08. DC=ForestDnsZones,DC=beitadminpl,DC=local Default-First-Site-Name\DC02 via RPC DSA object GUID: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408 Last attempt @ 2023-06-09 16:55:45 failed, result 8524 (0x214c): The DSA operation is unable to proceed because of a DNS lookup failure. 1 consecutive failure(s). Last success @ 2023-06-09 16:48:08. Source: Default-First-Site-Name\DC02 ******* 1 CONSECUTIVE FAILURES since 2023-06-09 16:48:08 Last error: 8524 (0x214c): The DSA operation is unable to proceed because of a DNS lookup failure. |
Przykład 6: Pokaż kolejkę replikacji
To normalne, że obiekty w kolejce są widoczne. Jeśli masz małe środowisko, często będzie wynosić zero, ponieważ występuje niewiele replikacji. Jeśli zauważysz, że obiekty stoją w kolejce i nigdy się nie usuwają, masz problem.
Użyj tego polecenia, aby wyświetlić kolejkę replikacji:
1 |
Repadmin /Queue |
Wyświetlane wyniki:
1 2 3 4 |
C:\Users\beitadminpl>repadmin /queue Repadmin: running command /queue against full DC dc01.beitadminpl.local Queue contains 0 items. |
Przykład 7: Jak wymusić replikację usługi Active Directory
Użyj następującego polecenia, jeśli chcesz wymusić replikację między kontrolerami domeny. Będziesz chciał uruchomić to na DC, który chcesz zaktualizować. Na przykład, jeśli DC01 nie jest zsynchronizowany, uruchomiłbym to na DC01.
Spowoduje to wykonanie replikacji ściągającej, co oznacza, że pobierze aktualizacje z DC02 do DC01.
1 |
repadmin /syncall dc01 /Aed |
Jeśli chcesz wypychać replikację, użyjesz przełącznika /P. Na przykład, jeśli wprowadzasz zmiany w DC01 i chcesz replikować je do innych kontrolerów domeny, użyj tego polecenia.
1 |
repadmin /syncall dc01 /APed |
W wyniku polecenia pojawi się:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
C:\WINDOWS\system32>repadmin /syncall dc01 /Aed Syncing all NC's held on dc01. Syncing partition: DC=ForestDnsZones,DC=beitadminpl,DC=local CALLBACK MESSAGE: The following replication is in progress: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: The following replication completed successfully: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: SyncAll Finished. SyncAll terminated with no errors. Syncing partition: DC=DomainDnsZones,DC=beitadminpl,DC=local CALLBACK MESSAGE: The following replication is in progress: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: The following replication completed successfully: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: SyncAll Finished. SyncAll terminated with no errors. Syncing partition: CN=Schema,CN=Configuration,DC=beitadminpl,DC=local CALLBACK MESSAGE: The following replication is in progress: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: The following replication completed successfully: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: SyncAll Finished. SyncAll terminated with no errors. Syncing partition: CN=Configuration,DC=beitadminpl,DC=local CALLBACK MESSAGE: The following replication is in progress: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: The following replication completed successfully: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: SyncAll Finished. SyncAll terminated with no errors. Syncing partition: DC=beitadminpl,DC=local CALLBACK MESSAGE: The following replication is in progress: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: The following replication completed successfully: From: 58a1cfbc-88bb-41da-a1a6-f14f5c9df408._msdcs.beitadminpl.local To : a5d22a63-1918-492a-bcd6-7fe286941e72._msdcs.beitadminpl.local CALLBACK MESSAGE: SyncAll Finished. SyncAll terminated with no errors. |
Przykład 8: Eksport wyników do pliku tekstowego
Czasami te polecenia mogą wyświetlać wiele informacji. Możesz wyeksportować dowolny z powyższych przykładów do pliku tekstowego, co ułatwi późniejsze przejrzenie lub zapisanie do dokumentacji.
po prostu dodaj > c:\folder docelowy\nazwa_pliku.txt na końcu dowolnego polecenia
Oto kilka przykładów:
1 |
repadmin /replsummary > c:\temp\replsummary.txt |
1 |
repadmin /showrepl > c:\temp\showrepl.txt |
Pozostałe przykłady
Sprawdź, kiedy po raz ostatni została utworzona kopia zapasowa Twojego kontrolera domeny
1 |
Repadmin /showbackup * |
Wyświetla połączenia, które nie zostały jeszcze odebrane
1 |
repadmin /showoutcalls * |
Informacje o topologii
1 |
repadmin /bridgeheads * /verbose |
Raport generatora topologii między ośrodkami
1 |
repadmin /istg * /verbose |
Podsumowanie
Jako administrator systemu ważne jest, aby wiedzieć, jak rozwiązywać problemy i sprawdzać, czy replikacja działa poprawnie. Repadmin to proste, ale potężne narzędzie, z którego powinieneś wiedzieć, jak korzystać.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).