none
repadmin でコンテキストを指定した場合の書式 RRS feed

  • 質問

  • よろしくお願いいします。

    複数サイトが存在するWindows AD (2016 Server)環境の話です。

    一斉に複製するとき、以下のコマンドを使用していました。

    C:\> repadmin /syncall /eP

    以下のとおり複製パーティションを"mydomain.DC=local"に限定して実行したところエラーが発生しました。

    【エラーの例】

    C:\> repadmin /syncall /eP DC=mydomain.DC=local
    DC=testdomain.DC=local への DsBindWithCred に失敗しました。状態: 1722 (0x6ba):

    【改善】

    エラーから対象ドメインコントローラ名が指定されていないと判断し、以下を実行したところ正常に動作しました。

    C:\> repadmin /syncall /eP mydomaincontroller DC=mydomain.DC=local

    なぜrepadmi /syncall /eP のときはDC名の指定が不要で、コンテキストを指定する場合はDC名が必要なのでしょうか。

    2020年1月19日 1:41

回答

  • チャブーンさん

    アドバイスありがとうございます。テスト環境で試したところ、ご指摘とおりの動きとなりました。

    ありがとうございました。

    repadmin は /なしのオプションと/ありのオプションがありそれが混乱の元でした。

    すっきりしました。ありがとうございました。

    • 回答としてマーク open090 2020年1月19日 15:33
    2020年1月19日 15:33

すべての返信

  • チャブーンです。

    この件ですが、なかなかいい質問ですね...他意はありませんが。答えとしては「コマンドオプションの自動認識」とでもいうべき、小さな親切機能がコマンドにはあるからです。

    マイクロソフト製品のコマンドラインは、簡単に入力実行するため、入力したコマンドオプションを自動認識する機能があります。一番端的な例で、本件のような「実行サーバー名」のオプション入力がなければ、自分自身「localhost」が指定されている、と判断します。

    コマンドの自動認識は「コマンドオプションの指定順」で判断します。複製オプションのあとに複製パーティション名オプションがない場合、指定されたオプションの順番をみて、自動的に以下のように認識します。

    repadmin /syncall /eP localhost "CN=Configuration,<ForestRoot DN>"

    上記のようなロジックでの場合、複製パーティション名だけが追加でオプション入力された場合、それがホスト名なのかパーティション名なのかコマンドは判断できないので、ホスト名として実行し、エラーが出ているのでしょう。

    平たくいうと、これはコマンドオプションにおける「作法」なので、守ってもらうしかない話しとなります。ちなみにlocalhostはコマンドではよく「.」(ドット)文字列での置き換えができます。このようなケースでの入力は一般には以下のように行います。

    repadmin /syncall /eP . "<Partition DN>"


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。





    2020年1月19日 2:54
    モデレータ
  • チャブーンさん

    アドバイスありがとうございます。テスト環境で試したところ、ご指摘とおりの動きとなりました。

    ありがとうございました。

    repadmin は /なしのオプションと/ありのオプションがありそれが混乱の元でした。

    すっきりしました。ありがとうございました。

    • 回答としてマーク open090 2020年1月19日 15:33
    2020年1月19日 15:33