トップ回答者
AD参加時のエラー(1332)について

質問
-
以下について教えてください。
【事象】
本事象は会社内でユーザーから戻ってきた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:52
回答
-
やきです。
コンピューターアカウントを作ることができる権限がないので、エラーになります。
アカウントあり + 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.
- 編集済み やき(Yaki) 2017年6月6日 4:44
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年6月12日 1:26
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年6月12日 2:00
- 回答としてマークされていない 栗下 望Microsoft employee, Moderator 2017年6月14日 2:12
- 回答としてマーク 鈴木三郎 2018年12月17日 7:04
すべての返信
-
バッチで実行したときにありがちなのは管理者権限の有無やUACの影響が考えられます。
あらかじめコンピューターオブジェクトを手動追加した場合はうまくいく、というケースとしては
・そのユーザーの権限が足りない(Account OperatorsやDomain Adminsなどでない)
・一般のドメインユーザーだが、ユーザーを使用してすでに10台以上の登録に使用したあたりでしょうか。
失敗した時点におけるクライアント・ドメインコントローラー側でイベントログに情報は出ていないでしょうか。
追伸:
よく見たらFJoinOptionsが1ですね。これが原因です。
これだとオブジェクトは作られません。3が正解です。https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa392154.aspx
- 編集済み やき(Yaki) 2017年5月31日 5:31
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年6月1日 1:11
-
フォーラムオペレーターの栗下 望です。
鈴木三郎 さん、こんにちは。
ご質問いただいていた内容についてはその後いかがでしょう?
やきさんからの返信を確認し現在の状況をお知らせいただければ幸いです。ご参考になった情報には[回答としてマーク]のご設定もお願いいたします。
MSDN/TechNet Community Support 栗下 望
-
>やき さん
コメントありがとうございます。
以前に自分で設定したのを度忘れしていました。
バッチ自体はローカル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 になればありがたいのですが。。。。 -
やきです。
コンピューターアカウントを作ることができる権限がないので、エラーになります。
アカウントあり + 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.
- 編集済み やき(Yaki) 2017年6月6日 4:44
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年6月12日 1:26
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年6月12日 2:00
- 回答としてマークされていない 栗下 望Microsoft employee, Moderator 2017年6月14日 2:12
- 回答としてマーク 鈴木三郎 2018年12月17日 7:04