repadmin /showreplの見方|Active Directoryレプリケーションエラーの調べ方

Windows

Active Directoryのレプリケーション障害を調査するとき、最初に

repadmin /replsummary

を実行すると、ドメインコントローラー全体のレプリケーション状態を確認できます。

しかし、replsummaryで分かるのは主に、

「どのDCでレプリケーションエラーが発生しているか」

という全体像です。

実際に、

どのDCとのレプリケーションが失敗しているのか
最後に成功したのはいつか
何回連続で失敗しているのか
どんなエラーが発生しているのか

まで調べたい場合は、

repadmin /showrepl

を使用します。

この記事では、repadmin /showreplの結果の見方と、エラーが見つかった場合の切り分け方法を紹介します。


repadmin /showreplとは?

repadmin /showreplは、ドメインコントローラーがどのレプリケーションパートナーからActive Directory情報を受信しているかと、その受信レプリケーションの状態を確認するコマンドです。

例えば、

DC01
  ↓
DC02
  ↓
DC03

という単純な順番を見るものではありません。

Active DirectoryではNaming Context(ディレクトリパーティション)ごとにレプリケーションが行われます。

そのためshowreplでは、

DC=example,DC=local
CN=Configuration,DC=example,DC=local
CN=Schema,CN=Configuration,DC=example,DC=local
DC=DomainDnsZones,DC=example,DC=local
DC=ForestDnsZones,DC=example,DC=local

などについて、レプリケーション状況が表示されます。


まずrepadmin /replsummaryで全体を見る

いきなりshowreplを見るより、最初に、

repadmin /replsummary

を実行する方法が分かりやすいです。

例えば、

Source DSA          largest delta    fails/total %%   error
DC01                05m:12s         0 / 10      0
DC02                04m:38s         0 / 10      0
DC03                08h:35m         5 / 10     50    1722

だったとします。

この結果から、

DC01 → 大きな異常なし
DC02 → 大きな異常なし

DC03
 ↓
失敗あり
 ↓
1722

ということが分かります。

そこで次に、

repadmin /showrepl DC03

を実行してDC03を詳しく調査します。

つまり、

replsummary
     ↓
全体から異常なDCを探す
     ↓
showrepl
     ↓
そのDCを詳しく調べる

という使い分けです。


repadmin /showreplを実行する

対象DCで、

repadmin /showrepl

を実行します。

別のDCから対象DCを指定する場合は、

repadmin /showrepl DC03

のように実行できます。

実際の出力は環境によって異なりますが、例えば次のような情報が表示されます。

DC=example,DC=local

    Site-A\DC01 via RPC
        DSA object GUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        Last attempt @ 2026-09-16 10:30:00 was successful.

エラーが発生している場合は、

Last attempt @ 2026-09-16 10:30:00 failed,
result 1722 (0x6ba):
The RPC server is unavailable.

などと表示されます。

ここから詳しく見ていきます。


最初に「どのDCを見ているか」を確認する

showreplの結果を見るとき、最初に確認したいのが、

どのDCの受信レプリケーションを表示しているのか

です。

例えばDC03を指定して、

repadmin /showrepl DC03

を実行したのであれば、基本的には、

DC01
  │
  │ Active Directory情報
  ▼
DC03

というDC03側から見た受信レプリケーションを調べています。

ここを理解していないと、

「DC01が悪いのか、DC03が悪いのか」

を取り違えやすくなります。


Naming Contextを見る

showreplでは、最初に、

DC=example,DC=local

などが表示されます。

これはNaming Context(NC)と呼ばれるもので、Active Directoryでレプリケーションされる領域を表します。

代表的なものとして、

DC=example,DC=local

はドメインパーティションです。

また、

CN=Configuration,DC=example,DC=local

はConfigurationパーティション、

CN=Schema,CN=Configuration,DC=example,DC=local

はSchemaパーティションです。

DNS統合ゾーンを使用している場合は、

DC=DomainDnsZones,DC=example,DC=local
DC=ForestDnsZones,DC=example,DC=local

なども表示されます。

ここで重要なのは、

一部のNaming Contextだけ失敗しているのか、複数がまとめて失敗しているのか

を見ることです。


レプリケーション元DCを確認する

例えば、

Site-A\DC01 via RPC

と表示されていれば、DC01がレプリケーションパートナーです。

イメージとしては、

DC01
 │
 │ レプリケーション
 ▼
DC03

です。

DC03のshowreplを見ていて、

Site-A\DC01 via RPC

の下にエラーが表示されているなら、

DC03がDC01から情報を受信するレプリケーションで失敗している

と考えます。

これだけでもreplsummaryよりかなり具体的になります。


Last attemptを見る

非常に重要なのが、

Last attempt

です。

例えば、

Last attempt @ 2026-09-16 10:30:00 was successful.

なら、

10時30分のレプリケーション試行は成功

しています。

一方、

Last attempt @ 2026-09-16 10:30:00 failed,
result 1722 (0x6ba):
The RPC server is unavailable.

なら、

10時30分の試行は失敗

しています。

つまり、

Last attempt
     ↓
一番最近のレプリケーション試行結果

を見る項目です。


「現在も失敗しているか」を確認する

ここは障害調査で重要です。

例えば、過去にDCが停止していたとします。

09:00
DC01停止
   ↓
レプリケーション失敗

10:00
DC01起動

10:15
レプリケーション成功

この場合、過去にエラーがあったとしても、現在は復旧している可能性があります。

したがって、

エラーが一度あった

だけでなく、

直近のレプリケーションが成功しているか

を確認します。


Last successを見る

環境や出力内容によって確認方法は異なりますが、障害調査では最後に正常なレプリケーションが成功した時刻が非常に重要です。

例えば、

Last Success
2026-09-16 10:15

だったとします。

現在が10:30なら、

15分前まで正常

です。

一方、

Last Success
2026-09-10 03:15

なら、

約6日間
正常レプリケーションなし

ということになります。

同じ1722でも、

数分前から1722

と、

数日間1722

では状況が大きく違います。


連続失敗回数を見る

レプリケーションが失敗し続けている場合は、連続した失敗回数にも注目します。

例えば、

5 consecutive failure(s).

なら、

5回連続で失敗

しています。

考え方としては、

1回だけ失敗
   ↓
一時的な通信障害の可能性もある

数十回連続失敗
   ↓
継続的な問題を疑う

となります。

ただし、回数だけで原因は判断できません。

重要なのは、

最後の成功時刻
+
連続失敗回数
+
エラーコード

を組み合わせて見ることです。


resultのエラーコードを見る

失敗している場合、例えば、

result 1722 (0x6ba):
The RPC server is unavailable.

のような結果が表示されます。

ここで重要なのが、

1722

というエラー番号です。

日本語環境では、

RPC サーバーを利用できません。

などと表示されます。

この場合は、

DNS
ネットワーク
TCP/135
RPC動的ポート
Firewall / ACL
対象DCの状態

などを調査します。

詳しい切り分けについては、関連記事、


「Active Directoryで『RPCサーバーを利用できません(1722)』が出たときの原因と確認方法」

も参考にしてください。

1722以外のエラーもある

showreplで表示されるエラーは1722だけではありません。

例えば、

1256

など、別のエラーが表示されることがあります。

ここで大切なのは、

エラー番号だけを見て原因を決めない

ことです。

例えば同じDCについて、

Domain NC
    ↓
1722

Configuration
    ↓
1256

Schema
    ↓
1256

のようになっていた場合、1256だけを個別に追いかけるより、最初に発生している通信障害との関係を調べた方がよい場合があります。


「どこからどこへ」を整理する

showreplの結果が長い場合は、私は次のように整理します。

確認対象
DC03

レプリケーション元
DC01

Naming Context
DC=example,DC=local

最後の試行
失敗

エラー
1722

最後の成功
8時間前

連続失敗
5回

これだけ整理すると、

DC01
  │
  │ RPCレプリケーション
  │ ×
  ▼
DC03

という調査対象が見えてきます。

この状態になって初めて、

DC01は起動している?
DNSでDC01を正しく引ける?
DC03→DC01のTCP/135は通る?
Firewallは?

と具体的な通信確認へ進めます。


DNSを確認する

Active Directoryのレプリケーション障害ではDNS確認が重要です。

例えばDC03から、

nslookup DC01

を実行します。

FQDNでも、

nslookup DC01.example.local

を確認します。

期待したIPアドレスが返るか確認します。

さらにAD用のSRVレコードについて、

nslookup -type=SRV _ldap._tcp.dc._msdcs.example.local

なども確認できます。

単純に、

ping DC01

が成功しただけでDNSやAD通信全体が正常とは判断しません。


RPCのTCP/135を確認する

1722などRPC関連のエラーなら、PowerShellから、

Test-NetConnection DC01 -Port 135

を実行できます。

正常なら、

TcpTestSucceeded : True

となります。

失敗なら、

TcpTestSucceeded : False

です。

ただし、RPCではTCP/135だけでなく動的RPCポートも使用されるため、

135番が成功=RPCレプリケーションが完全に正常

ではありません。


showreplの結果とイベントログの時刻を合わせる

原因が分からない場合は、イベントビューアーも確認します。

例えばshowreplで、

Last attempt
2026-09-16 10:30

に失敗していたなら、イベントログでも、

10:25~10:35

付近を重点的に確認します。

特に、

Directory Service
System
DNS Server
DFS Replication

などを確認します。

こうすると、

10:30 repadmin失敗
       ↓
10:30 DNS関連エラー
       ↓
10:30 ネットワークエラー

など、関連するイベントが見つかることがあります。


全DCを確認したい場合

DCが複数ある場合、

repadmin /showrepl *

で複数DCの情報を確認できます。

さらにCSV形式なら、

repadmin /showrepl * /csv

です。

ファイルへ保存するなら、

repadmin /showrepl * /csv > showrepl.csv

とできます。

DCが多い環境では、CSVにしてExcelで、

Source DSA
Destination DSA
Last Success Time
Number of Failures
Last Failure Status

などを確認すると便利です。


DCが多い場合は1台ずつ追わない

例えば多数のRODCがある環境で、

RODC01 → 1722
RODC02 → 1722
RODC03 → 正常
RODC04 → 1722

となっていたとします。

一台ずつ、

RODC01が壊れた?
RODC02も壊れた?
RODC04も壊れた?

と考えるより、

同じ拠点か?
同じネットワーク経路か?
同じADサイトか?
同じレプリケーション元か?
同じ時間から発生したか?

という共通点を探す方が原因へ早く近づける場合があります。


手動レプリケーションで確認する方法

原因を修正したあと、レプリケーションが正常になったか確認したい場合があります。

Active Directory Sites and Servicesなどからレプリケーションを実行する方法もあります。

repadminにも同期関連のコマンドがありますが、本番環境では、

エラーが出ているから、とりあえず強制同期する

という使い方は避けた方が安全です。

まず、

原因調査
 ↓
原因修正
 ↓
レプリケーション実行
 ↓
showreplで確認

という順番にします。


復旧したか確認する

原因を修正したら、もう一度、

repadmin /showrepl DC03

を実行します。

例えば、

Last attempt @ 2026-09-16 11:30:00 was successful.

となれば、直近のレプリケーションは成功しています。

さらに、

repadmin /replsummary

も実行します。

つまり、

showrepl
 ↓
個別の通信が復旧した?

replsummary
 ↓
全体として失敗が残っていない?

という2段階で確認します。


replsummaryとshowreplの違い

この2つはセットで覚えると分かりやすいです。

コマンド主な目的
repadmin /replsummaryADレプリケーション全体を確認
repadmin /showrepl特定DCの受信レプリケーションを詳しく確認

イメージとしては、

Active Directoryで問題発生
          ↓
repadmin /replsummary
          ↓
「DC03がおかしい」
          ↓
repadmin /showrepl DC03
          ↓
「DC01からDC03への受信で1722」
          ↓
DNS / RPC / Networkを調査

です。

この使い分けが分かるだけでも、ADレプリケーション障害の調査がかなりしやすくなります。


showreplが正常ならSYSVOLも正常?

ここは注意が必要です。

repadmin /showrepl
       ↓
成功

だからといって、

SYSVOLも正常

とは限りません。

repadminで確認しているActive Directoryのレプリケーションと、現在のWindows ServerでSYSVOLに使われるDFSRのレプリケーションは分けて考える必要があります。

例えば、

ADレプリケーション
        ↓
正常

SYSVOL / DFSR
        ↓
異常

ということもあり得ます。

GPOが反映されない場合などは、

\\DC01\SYSVOL
\\DC02\SYSVOL

の内容や、DFSRの状態も別途確認します。

これは次の記事で詳しく扱います。


私ならこの順番で調査する

Active Directoryのレプリケーション障害なら、次のように進めます。

ADレプリケーションがおかしい
          ↓
repadmin /replsummary
          ↓
異常なDCを特定
          ↓
repadmin /showrepl 対象DC
          ↓
どのレプリケーション元?
          ↓
どのNaming Context?
          ↓
Last attempt
          ↓
最後の成功時刻
          ↓
連続失敗回数
          ↓
エラーコード
          ↓
DNS / Network / RPC等を調査
          ↓
原因修正
          ↓
showreplで再確認
          ↓
replsummaryで全体確認

重要なのは、

エラー番号を見る前に「どこからどこへのレプリケーションなのか」を把握する

ことです。


まとめ

Active Directoryのレプリケーションエラーを調査するとき、

repadmin /showrepl

は非常に便利なコマンドです。

特に確認したいのは、

確認対象DC
レプリケーション元DC
Naming Context
Last attempt
最後の成功時刻
連続失敗回数
エラーコード

です。

最初に、

repadmin /replsummary

で全体を確認し、

どのDCがおかしい?

を見つけます。

次に、

repadmin /showrepl 対象DC

で、

誰から
 ↓
何を
 ↓
いつから
 ↓
何のエラーで
 ↓
受信できていない?

まで掘り下げます。

例えば1722が確認されたら、その時点でDNS、RPC、ネットワーク、ファイアウォールなどの調査へ進みます。

repadmin /showreplは、

「ADレプリケーションが失敗している」という漠然とした状態を、「DC01からDC03へのレプリケーションが1722で失敗している」という具体的な状態へ変える

ためのコマンドと考えると分かりやすいでしょう。



関連記事

1.ADレプリケーション全体の確認方法については「repadmin /replsummaryの見方」

2.repadmin /showreplの見方|Active Directoryレプリケーションエラーの調べ方

3.Active Directoryで「RPCサーバーを利用できません(1722)」が出たときの確認方法

コメント

タイトルとURLをコピーしました