Active Directory レプリケーション エラー 1722: RPC サーバーを利用できません。

適用対象: Windows Server 2008 R2Windows Server 2008 R2 DatacenterWindows Server 2008 R2 Enterprise

現象


 この記事では、次の Active Directory レプリケーション Win32 エラー 1722 により失敗する現象、原因および問題を解決するための方法について説明します: RPC サーバーを利用できません。

  1. エラー 1722 によりレプリカ DC の DCPROMO プロモーションがヘルパー DC 上で NTDS 設定オブジェクトの作成に失敗する。    

    ダイアログ タイトルのテキスト:

    Active Directory ドメイン サービス インストール ウィザード 

    ダイアログ メッセージのテキスト:   

    次のエラーにより、操作に失敗しました: Active Directory ドメイン サービスは、この Active Directory ドメイン コントローラーの CN=NTDS Settings,CN=<Name of DC being promoted),CN=Servers,CN=<site name>,CN=Sites,CN=Configuration,DC=<forest root domain> の NTDS 設定オブジェクトをリモート AD DC <ヘルパー Dc>.<domain name>.<トップ レベル ドメイン> 上で作成できませんでした。 提供されたネットワーク資格情報が十分な権限を持っていることを確認してください。 「RPC サーバーを利用できません。」

  2. DCDIAG は、エラー 1722 により Active Directory レプリケーションのテストが失敗したことを報告します: 「RPC サーバーを利用できません」 
     

    [レプリケーションの確認、<DC 名>] 最近のレプリケーション試行は失敗しました:
                <ソース DC> から <宛先 DC>
                名前付けコンテキスト: <ディレクトリ パーティションの DN パス>
                レプリケーションでエラーが生成されました (1722):
                RPC サーバーを利用できません。
                <date> <time> でエラーが発生しました。
                前回の成功は <date> <time> です。
                前回の成功から、<X> 回エラーが発生しました。

                エラー 1722 により [<Dc 名>] DsBindWithSpnEx() が失敗しました。
                RPC サーバーを利用できません。
                RPC 拡張エラー情報を印刷しています: 
               <snip>   

  3. REPADMIN.EXE は、1722 (0x6ba) 状態によりレプリケーション試行が失敗したことを報告します。

    一般的に -1722 (0x6ba) 状態を示す REPADMIN コマンドには、次のものがあります (ただし、これらに限りません)。  
     

    · REPADMIN /REPLSUM
    · REPADMIN /SHOWREPL

    · REPADMIN /SHOWREPS
    · REPADMIN /SYNCALL


    「RPC サーバーを利用できません」 エラーを表す「REPADMIN /SHOWREPS」と REPADMIN /SYNCALL のサンプル出力を以下に示します。 
     

    c:\>repadmin /showreps
    <サイト名>\<宛先 DC>
    DC オプション: <フラグの一覧>
    サイト オプション: (なし)
    DC オブジェクト GUID: <NTDS 設定オブジェクトのオブジェクト GUID>
    DC invocationID: <呼び出し ID 文字列>

    ==== 受信ネイバー ======================================

    DC=<ディレクトリ パーティションの DN パス>
        <site name>\<経由の RPC 宛先 DC
            DC オブジェクト GUID: <宛先 DC の ntds 設定オブジェクトのオブジェクト GUID>
            <date> <time> の最後の試行が失敗しました、結果は1722 (0x6ba) です。
                RPC サーバーを利用できません。
            <X #> 回連続で失敗しました。
            <date> <time> の最後の試行


    「RPC サーバーを利用できません」エラーを表す「REPADMIN /SYNCALL」のサンプル出力を以下に示します。 

    C:\>repadmin /syncall
    コールバック メッセージ: サーバーへのアクセス中にエラーが発生しました <NTDS 設定オブジェクトのオブジェクト guid>._msdcs.<フォレスト フット ドメイン>.<トップ レベル ドメイン> (ネットワーク エラー): 1722 (0x6ba):
    RPC サーバーを利用できません。

  4. [Active Directory サイトとサービス] の [今すぐレプリケート] コマンドを実行すると、「RPC サーバーを利用できません」メッセージが返される。

    ソース DC の接続オブジェクトを右クリックして、[今すぐレプリケート] を選ぶと、「RPC サーバーを利用できません。」により失敗します。 オンスクリーン エラー メッセージを以下に示します。   

    ダイアログ タイトルのテキスト:  

    今すぐレプリケート 

    ダイアログ メッセージのテキスト: 

    ドメイン コントローラー <ソース DC のホスト名> からドメイン コントローラー <宛先 DC のホスト名> への名前付けコンテキスト <ディレクトリ パーティションの DNS 名> の同期の試行中に、次のエラーが発生しました: RPC サーバーを利用できません。 この操作は続行されません。 この状態は DNS 参照エラーが原因である可能性があります。 DNS 参照の一般的な問題に関するトラブルシューティングは、次の Microsoft Web サイトをご覧ください: DNS参照の問題

  5. 状態が 1722 である NTDS KCC イベント、NTDS General イベント、または Microsoft-Windows-ActiveDirectory_DomainService イベントが、ディレクトリ サービスのイベント ログに記録される。

    一般的に 1722 状態を示す Active Directory イベントには、次のものがあります (ただし、これらに限りません)。

     
    イベント ソース イベント ID イベント文字列
    Microsoft-Windows-ActiveDirectory_DomainService 1125 Active Directory ドメイン サービス インストール ウィザード (Dcpromo) は次のドメイン コントローラーと接続を確立できませんでした。
    NTDS KCC 1311 知識整合性チェッカー (KCC) により、次のディレクトリ パーティションで問題が検出されました。
    NTDS KCC 1865 知識整合性チェッカー (KCC) が完全なスパン ツリー ネットワーク トポロジを作成できませんでした。 その結果、ローカル サイトから次のサイトの一覧に接続できません。
    NTDS KCC 1925 次の書き込み可能なディレクトリ パーティションのためにレプリケーション リンクを確立しようとして失敗しました。
    NTDS Replication 1960 内部イベント: 次のドメイン コントローラーが Remote Procedure Call (RPC) の接続から例外を受信しました。 この操作が失敗した可能性があります。

 

原因


RPC は、ネットワーク トランスポートとアプリケーション プロトコルの間にある中間層です。 RPC 自体にエラーに関する特別な洞察はありませんが、下位レイヤーのプロトコル エラーを RPC レイヤーのエラーにマッピングしようと試みます。

下位レイヤーのプロトコルが接続エラーを報告すると、RPC エラー 1722 / 0x6ba / RPC_S_SERVER_UNAVAILABLE がログに記録されます。 一般的に、TCP 接続の抽象的な操作が失敗した状態です。 AD レプリケーションのコンテキストで、宛先 DC の RPC クライアントがソース DC の RPC サーバーに正常に接続できなかった。 この問題の一般的な原因は次のとおりです。

  1. リンク ローカル エラー
  2. DHCP エラー
  3. DNS エラー
  4. WINS エラー
  5. ルーティング エラー (ファイアウォール上でブロックされたポートを含む)
  6. IPSec / Network 認証エラー
  7. リソースの制限
  8. 上位レイヤーのプロトコルが実行していない
  9. 上位レイヤーのプロトコルがこのエラーを返している

解決方法


問題を特定するための基本的なトラブルシューティング手順。

1. Remote Procedure Call (RPC)、Remote Procedure Call (RPC) Locator および Kerberos キー配布センターのスタートアップの値とサービスの状態が正しいことを確認します。  OS のバージョンによって、レプリケーション エラーをログに記録しているソースと宛先システムの正しい値が決まります。  次の表を使うと、設定の検証に役立ちます。

サービス名

Windows 2000

Windows 2003 /R2 Windows 2008 Windows 2008 R2
Remote Procedure Call (RPC) 開始済み / 自動 開始済み / 自動 開始済み / 自動 開始済み / 自動
Remote Procedure Call (RPC) Locator

開始済み / 自動 (ドメイン コントローラー)

未開始 / 手動 (メンバー サーバー)

 

未開始 / 手動 未開始 / 手動 未開始 / 手動
Kerberos キー配布センター (KDC)

開始済み / 自動 (ドメイン コントローラー)

未開始 / 無効 (メンバー サーバー)

開始済み / 自動 (ドメイン コントローラー)

未開始 / 無効 (メンバー サーバー)

 

開始済み / 自動 (ドメイン コントローラー)

未開始 / 無効 (メンバー サーバー)

 

開始済み / 自動 (ドメイン コントローラー)

未開始 / 無効 (メンバー サーバー)

 

 

上記の設定に一致するよう変更を行う場合は、マシンを再起動して、スタートアップの値とサービスの状態の両方が上記の表に記述される値と一致していることを確認します。

2.    ClientProtocols キーがHKLM\Software\Microsoft\Rpc にあり、正しい既定のプロトコルが含まれていることを確認します。

 プロトコル名  種類  データ値
 ncacn_http  REG_SZ  rpcrt4.dll
 ncacn_ip_tcp  REG_SZ  rpcrt4.dll
 ncacn_np  REG_SZ  rpcrt4.dll
 ncacn_ip_udp  REG_SZ  rpcrt4.dll

 

ClientProtocols キーや 4 つの既定値のいずれかがない場合は、既知の有効なサーバーからキーをインポートします。

3.   DNS が動作していることを確認します。  レプリケーションについては、DNS 参照エラーは大量の 1722 RPC エラーの原因です。  DNS エラーの特定に役立つツールがいくつかあります。

  • DCDIAG /TEST:DNS /V /E /F:<filename.log>
    この DCDIAG /TEST:DNS コマンドで、Windows 2000 Server (SP3 以降)、Windows Server 2003 および Windows Server 2008 ファミリーのドメイン コントローラー DNS の正常性を確認できます。  このテストは Windows Server 2003 Service Pack 1 で最初に導入されました。

    このコマンドには次の 7 つのテスト グループがあります。
    • 認証 (Auth)
    • 基本 (Basc)
    • レコード登録 (RReg)
    • 動的更新 (Dyn)
    • 委任 (Del)
    • フォワーダー/ルート ヒント (Forw)


サンプル出力
               テスト: 認証 (Auth)
                  認証テスト: 正常に完了しました
                 
               テスト: 基本 (Basc)
                   Microsoft(R) Windows(R) Server 2003、Enterprise Edition (Service Pack レベル: 2.0) がサポートされています
                  NETLOGON サービスが実行中です
                  kdc サービスが実行中です
                  DNSCACHE サービスが実行中です
                  DNS サービスが実行中です
                  DC が DNS サーバーです
                  ネットワーク アダプター情報:
                  アダプター [00000009] Microsoft Virtual Machine バス ネットワーク アダプター:
                     MAC アドレスは 00:15:5D:40:CF:92 です
                     IP アドレスは静的です
                     IP アドレス: <IP アドレス
                     DNS サーバー:
                        <DNS IP アドレス> (DC.domain.com) [有効]
                  この DC の A レコードが見つかりました
                  Active Directory ゾーンの SOA レコードが見つかりました
                  この DC/DNS サーバー上で Active Directory ゾーンが見つかりました (プライマリ)
                  この DC/DNS サーバー上でルート ゾーンが見つかりませんでした
                  <見やすくなるよう 他のテストを削除しました>

 DNS テスト結果のサマリー:
        
                                            Auth Basc Forw Del Dyn RReg Ext 
               ________________________________________________________________
            ドメイン: fragale.contoso.com
               DC1 成功 成功 失敗 成功 成功 成功 n/a 
            ドメイン: child.fragale.contoso.com
               DC2 成功 成功 n/a n/a n/a 成功 n/a 
        
         エンタープライズ DNS インフラストラクチャのテスト結果:

            親ドメインの場合 domain.com と下位ドメインの子ドメイン:
               親ドメインから下位ドメインまでのフォーワーダーまたはルート ヒントの構成は間違っていませんでした
               エラー: 下位ドメインから親ドメインまでフォーワーダーが構成されていますが、そのうちのいくつかは DNS サーバー テストに失敗しました
                 
                  (エラーの詳細は「DNS サーバー」のセクションをご覧ください)
               親ドメインから下位ドメインまで委任は正しく構成されています
         ......................... domain.com は DNS サーバー テストに失敗しました

このサマリでは、このテストのより一般的なエラーの修復の手順について説明しています。
このテストの説明とその他のオプションは ドメイン コントローラー診断ツール (dcdiag.exe) にあります。

  • NLTEST /DSGETDC:<netbios or DNS ドメイン名>
    Nltest /dsgetdc: は dc ロケーター処理に使われます。 そのため、/dsgetdc:< ドメイン名 > はドメインのドメイン コントローラーを検索しようと試みます。 キャッシュを使わずに強制フラグでコントローラーの位置を強制します。 /gc または /pdc などのオプションを使って、グローバル カタログまたはプライマリ ドメイン コントローラーを検索することもできます。 グローバル カタログを検索するには、ルート ドメインの DNS ドメイン名である「ツリー名」を指定する必要があります。

    出力サンプル:
               DC: \\DC.fabrikam.com
          住所 : \\<IP アドレス>
         ドメイン Guid: 5499c0e6-2d33-429d-aab3-f45f6a06922b
         ドメイン名: fabrikam.com
      フォレスト名: fabrikam.com
     DC サイト名: Default-First-Site-Name
    使われている DC サイト名: Default-First-Site-Name
            フラグ: PDC GC DS LDAP KDC TIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE
    The command completed successfully
     
  • Netdiag -v 
    Windows 2003 以前のバージョンを使って、ネットワーク構成とエラーに関する特定の情報を収集できます。  -v スイッチの実行中は、このツールの実行に少々時間がかかります。  

    DNS テストのサンプル出力:

    DNS テスト . . . . . . . . . . . . に設定されていない。 成功
          インターフェース {34FDC272-55DC-4103-B4B7-89234BC30C4A}
            DNS ドメイン:
            DNS サーバー: <DNS サーバーの Ip アドレス >
            IP アドレス:         PDN との予定された登録 (プライマリ DNS ドメイン名):
              Hostname: DC.fabrikam.com
              権限ゾーン: fabrikam.com
              プライマリ DNS サーバー: DC.fabrikam.com <Ip アドレス>
              権限 NS: <Ip アドレス>
    DNS サーバー <DNS サーバーの Ip アドレス> 上の DC エントリの DNS 登録を確認
    DNS サーバー「<DNS サーバーの Ip アドレス>」上のレコードは正しいです。
    (この DC のすべてのエントリに対してこの行が数回繰り返されるのがわかります。  数回繰り返されます。)
    DNS サーバー「<DNS サーバーの Ip アドレス>」上のレコードは正しいです。
        成功 - DNS サーバー「<DNS サーバーの Ip アドレス>」上の DC のすべての DNS エントリが登録されています。
     
  • -a <Ip_of_problem_server> を ping します

    これは、ドメイン コントローラーのホスト レコードが正しいマシンを解決していることを確認するための簡単なテストです。  
     
  • dnslint /s IP /ad IP 
    DNSLint は、DNS 名の解決に関する一般的な問題の診断に役立つ Microsoft Windows ユーティリティです。  この出力は、次などの多くの情報を持つ htm ファイルです。
     

    DNS サーバー: localhost
    IP アドレス: 127.0.0.1
    UDP ポート 53 がクエリに応答している: はい
    TCP ポート 53 がクエリに応答している : 未テスト
    ドメインに関して正式に回答している: いいえ

    サーバーからの SOA レコード データ:
    権限を持つネーム サーバー: DC.domain.com
    Hostmaster: hostmaster
    ゾーンのシリアル番号: 14
    ゾーンの有効期限: 1.00 日間
    更新間隔: 900 秒 (8 分)
    再試行の遅延: 600 秒 (8 分)
    既定 (最小) の TTL: 3600 秒 (8 分)

  • サーバーからの追加の権限を持つ (NS) レコード:
    DC2.fabrikam.com <IP アドレス>

    サーバーからのフォレスト GUID のエイリアス (CNAME) と グルー (A) レコード:
    CNAME: 98d4aa0c-d8e2-499a-8f90-9730b0440d9b._msdcs.fabrikam.com
    エイリアス : DC.fabrikam.com
    グルー: <IP アドレス>

    CNAME: a2c5007f-7082-4adb-ba7d-a9c47db1efc3._msdcs.fabrikam.com
    エイリアス: dc2.child.fabrikam.com
    グルー: <IP アドレス>


    詳細については、「DNSLint ユーティリティの説明」をご覧ください 

4.  ネットワーク ポートが、必要なポート上でリッスンしているファイアウォールまたはサード パーティのアプリケーションによってブロックされていないことを確認します。

エンドポイント マッパー (ポート135上でリッスン中) は、サービス (FRS、AD レプリケーション、MAPI など) がランダムに割り当てられたどのポートをリッスンしているかをクライアントに伝えます。

アプリケーション プロトコル プロトコル ポート
グローバル カタログ サーバー TCP 3269
グローバル カタログ サーバー TCP 3268
LDAP サーバー TCP 389
LDAP サーバー UDP 389
LDAP SSL TCP 636
LDAP SSL UDP 636
IPSec ISAKMP UDP 500
NAT-T UDP 4500
RPC TCP 135
RPC によってランダムに割り当てられた非特権 TCP ポート ¹ TCP 1024 ~ 5000
49152 ~ 65535*


* これは、Windows Server 2008、Windows Vista、

Windows 7 と Windows 2008 R2。 

 

Portqry を使って、別の DC をターゲットにしているときに DC からポートがブロックされているかどうか特定できます。  Portqry は次のサイトからダウンロードできます。

PortQry コマンド ライン ポート スキャナー バージョン 2.0

構文例:

portqry -n <problem_server> -e 135 

portqry -n <problem_server> -r 1024-5000

Portqryui と呼ばれる portqry のグラフィック バージョンは次にあります。

PortQryUI - PortQry コマンド ライン ポート スキャナーのユーザー インタフェース

 動的ポート範囲にブロックされているポートがある場合は、以下のリンクを参照して、顧客にとって管理可能なポート範囲を構成してください。

 ファイアウォールとドメイン コントローラーを構成して連携させるためのその他の重要なリンク

方法: RPC の動的ポート割り当てを構成してファイアウォールと連携させる方法

Active Directory レプリケーション トラフィックを特定のポートに制限する方法

FRS レプリケーション トラフィックを特定の静的ポートに制限する方法

ファイアウォールを構成してドメインの信頼関係を使う方法

Windows サーバーのドメイン コントローラーの既定ポートの一覧

Microsoft Windows サーバー システムのポート要件

5.   不適切な NIC ドライバー - 最新のドライバーについては、ネットワーク カード ベンダーまたは OEM をご覧ください。

6.  UDP の断片化は、RPC サーバーのソースが利用できないように見えるレプリケーション エラーの原因になる可能性があります。 この特定の原因については、イベント ソースが LSASRV のイベント ID 40960 および 40961 のエラーが非常に一般的です。

Windows で UDP の代わりに TCP を使うよう Kerberos に 強制させる方法

7.  SMB 署名が DC 間で一致していません。  次のセクションで、ドメイン コントローラーの既定ポリシーを使って SMB 署名に一貫性のある設定を構成すると、この原因の対処に役立ちます。   

コンピューターの構成\Windows の設定\セキュリティの設定\ローカル ポリシー\セキュリティ オプション

Microsoft ネットワーク クライアント: 通信にデジタル署名を追加 (常時) 無効になっています。
Microsoft ネットワーク クライアント: 通信にデジタル署名を追加 (サーバーが同意する場合) 有効になっています。
Microsoft ネットワーク サーバー: 通信にデジタル署名を追加 (常時) 無効になっています。
Microsoft ネットワーク サーバー: 通信にデジタル署名を追加 (クライアントが同意する場合) 有効になっています。


これらの設定は、次のレジストリ キーの下にあります。


HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters

RequireSecuritySignature= 常時 (0: 無効、1: 有効)。
EnableSecuritySignature= サーバーが同意する (0: 無効、1: 有効)。

その他のトラブルシューティング: 

上記の方法が 1722 に対する解決策を提供しない場合は、次の診断ログを使って詳細情報を収集できます。

Windows Server 2003 SP2 コンピューターは、NTDS レプリケーション イベント 1960、1961、1962 および 1963 の RPC サーバーの詳細情報をログに記録します。
NTDS 診断ログを強化する

1 = 基本、2 と 3 は引き続き詳細情報と 5 つのログの詳細情報を追加します。