none
AD参加時のエラー(1332)について RRS feed

  • 質問

  • 以下について教えてください。

    【事象】

     本事象は会社内でユーザーから戻ってきたPCをリカバリーした際に発生します。 

    • WMICコマンド(バッチ)でPCをドメイン参加させる際にリターンコード1332が表示される
    • ADにコンピュータオブジェクトを手動追加するとリターンコード0(正常値)が返ってくる

    【実行しているコマンド】

    Win7 / Win10クライアント上で下記コマンドを実行(バッチファイルのダブルクリック)しています

    wmic ComputerSystem Where name="%computername%" call JoinDomainOrWorkgroup AccountOU="省略" FJoinOptions=1 Name="省略" UserName="省略" Password="省略"

    【その他】

    つい最近、WinServer2008R2 から WinServer2012R2 へリプレースしましたがそれ以降できなくなった気がします

    (うろ覚えなのではっきりいつ起きたとは言えませんが・・・・)

    何か思い当たる節があれば教えてください

    よろしくお願いします。


    2017年5月31日 4:50

回答

  • やきです。

    コンピューターアカウントを作ることができる権限がないので、エラーになります。

    アカウントあり + fjoin1 = ReturnValue0 → コンピュータアカウントがすでにあるので、ドメイン参加できる。
    アカウントなし + fjoin1 = ReturnValue1332 → ドメインに参加する際にコンピュータアカウントがないので、参加できない。
    アカウントあり + fjoin3 = ReturnValue2224 → すでにコンピュータアカウントがあるので、アカウントの作成ができない。
    アカウントなし + fjoin3 = ReturnValue0 → コンピュータアカウントがなく、作成する権限もあるので作成もドメイン参加できる。ですね。

    0x23

    もしkしてなら、どちらも対応できたりしないですか?(10進なら32+3=35)

    駄目ならエラーメッセージなどで場合分け、あるいはPowershellをつかうなどですね。

    NETSETUP_JOIN_DOMAIN (0x00000001)
    Joins the computer to a domain. If this value is not specified, joins the computer to a workgroup.

    NETSETUP_ACCT_CREATE (0x00000002)
    Creates the account on the domain.

    NETSETUP_DOMAIN_JOIN_IF_JOINED (0x00000020)
    Allows a join to a new domain even if the computer is already joined to a domain.


    2017年6月6日 4:44

すべての返信

  • バッチで実行したときにありがちなのは管理者権限の有無やUACの影響が考えられます。

    あらかじめコンピューターオブジェクトを手動追加した場合はうまくいく、というケースとしては

    ・そのユーザーの権限が足りない(Account OperatorsやDomain Adminsなどでない)
    ・一般のドメインユーザーだが、ユーザーを使用してすでに10台以上の登録に使用した

    あたりでしょうか。

    失敗した時点におけるクライアント・ドメインコントローラー側でイベントログに情報は出ていないでしょうか。

    追伸:

    よく見たらFJoinOptionsが1ですね。これが原因です。
    これだとオブジェクトは作られません。3が正解です。

    https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa392154.aspx

    2017年5月31日 5:23
  • フォーラムオペレーターの栗下 望です。
    鈴木三郎 さん、こんにちは。

    ご質問いただいていた内容についてはその後いかがでしょう?
    やきさんからの返信を確認し現在の状況をお知らせいただければ幸いです。

    ご参考になった情報には[回答としてマーク]のご設定もお願いいたします。


    MSDN/TechNet Community Support 栗下 望

    2017年6月6日 2:16
    モデレータ
  • >やき さん

    コメントありがとうございます。
    以前に自分で設定したのを度忘れしていました。


    バッチ自体はローカルAdminで実行し、バッチ内のコマンドはDomainAdminを指定して実行します。
    その際にはReturnValue 2224が出てしまいその対処としてFJoinOptionsを1に変えたのを思い出しました

    2224    The account already exists.
    

    https://msdn.microsoft.com/en-us/library/Aa392154

    まとめると以下の通りです

    アカウントあり + fjoin1 = ReturnValue0
    アカウントなし + fjoin1 = ReturnValue1332
    アカウントあり + fjoin3 = ReturnValue2224
    アカウントなし + fjoin3 = ReturnValue0



    コンピュータアカウントが有ろうが無かろうが、一律ReturnValue 0 になればありがたいのですが。。。。

    2017年6月6日 3:51
  • やきです。

    コンピューターアカウントを作ることができる権限がないので、エラーになります。

    アカウントあり + fjoin1 = ReturnValue0 → コンピュータアカウントがすでにあるので、ドメイン参加できる。
    アカウントなし + fjoin1 = ReturnValue1332 → ドメインに参加する際にコンピュータアカウントがないので、参加できない。
    アカウントあり + fjoin3 = ReturnValue2224 → すでにコンピュータアカウントがあるので、アカウントの作成ができない。
    アカウントなし + fjoin3 = ReturnValue0 → コンピュータアカウントがなく、作成する権限もあるので作成もドメイン参加できる。ですね。

    0x23

    もしkしてなら、どちらも対応できたりしないですか?(10進なら32+3=35)

    駄目ならエラーメッセージなどで場合分け、あるいはPowershellをつかうなどですね。

    NETSETUP_JOIN_DOMAIN (0x00000001)
    Joins the computer to a domain. If this value is not specified, joins the computer to a workgroup.

    NETSETUP_ACCT_CREATE (0x00000002)
    Creates the account on the domain.

    NETSETUP_DOMAIN_JOIN_IF_JOINED (0x00000020)
    Allows a join to a new domain even if the computer is already joined to a domain.


    2017年6月6日 4:44
  • やき さん

    レスありがとうございます。
    もう少し試行錯誤してみます
    2017年6月13日 10:04