After you upgrade IT Management Suite (ITMS) from 8.7.x to 8.8 or 8.8.1, imaging jobs fail at the domain join step. The failure happens after the computer reboots into Windows, not in WinPE (automation). The computer does not join the domain, and no computer account appears in the target (custom) organizational unit (OU). The same join account and OU delegation worked before the upgrade.
The issue occurs when all of the following are true:
The client log C:\Windows\Debug\NetSetup.log shows this status line:
NetpJoinDomainMachineAccountOU: (NULL)Account: <DOMAIN>\<join-account>Options: 0x10000003NetpGetComputerObjectDn: Got DN CN=<computer>,CN=Computers,DC=example,DC=com from the default computer container
...
Account: ad\<join-account-B>
NetpModifyComputerObjectInDs: ldap_add_s failed: 0x35 0x216d
NetpGetComputerObjectDn: Crack results: Account does not existNetpDoDomainJoin: status: 0x534
Windows error text for this code:
In C:\Windows\Debug\NetSetup.log, the first join attempt tries to create the account in CN=Computers:
NetpJoinDomain
MachineAccountOU: (NULL)
Account: ####\####
Options: 0x10000003
NetpGetComputerObjectDn: Got DN CN=####,CN=Computers,DC=example,DC=com from the default computer container
The automatic retry finds no account and fails with 0x534:
Options: 0x10000001
NetpGetComputerObjectDn: Crack results: Account does not exist
NetpDoDomainJoin: status: 0x534
How to read these lines:
In DSTasks.log, the task stops at the join stage with an error. The move-to-OU stage does not appear.
Note Do not use the PreOS_Task_Logs folder for this issue. That folder holds automation (WinPE) logs that DS copies to the local drive after DS tasks run in automation (KB DS 8.x Automation Logs). This failure happens in production Windows. |
IT Management Suite (ITMS) 8.8 and 8.8.1
Deployment Solution (DS) 8.8 and 8.8.1
Online domain join through System Configuration settings (Apply System Configuration task, or System Configuration applied as part of an imaging job)
Active Directory domain where the join account has delegated Create Computer objects permission on the target OU only
Deployment Solution 8.8 includes a rewritten Apply System Configuration task:
The rewrite adds ARM64 support and resolves domain join failures that occurred in other customer scenarios.
The rewritten task joins the computer to the domain first, which creates the account in the default CN=Computers container, and then moves the account to the configured OU. Earlier releases created the account directly in the configured OU.
If the domain join account has Create Computer objects permission only on the target OU, Active Directory refuses to create the account in CN=Computers. The join fails, and the move to the OU never runs.
The Deployment Solution (DS) agent passed the configured OU to the Windows domain join call. Windows created the computer account directly in that OU. The join account needed Create Computer objects permission on the target OU and nowhere else. Least-privilege delegation was enough.
The System Configuration task now joins in two steps:
MachineAccountOU: (NULL). With no OU, Windows creates the computer account in the default computer container, CN=Computers.CN=Computers to the OU configured in the task.DSTasks.log (log created from production located at ..\Altiris Agent\Agents\Deployment\Logs) records these as two separate stages: a join stage and a move stage.
Active Directory checks create permission on the container where the object is created. In 8.8 that container is CN=Computers, not the target OU. A join account delegated only on the target OU cannot create an object in CN=Computers, so the domain controller refuses the request.
Windows then retries automatically with a join-only request (Options: 0x10000001). A join-only request expects the computer account to exist already. It does not, so the retry fails with 0x534.
Because step 1 fails, the DS agent never runs step 2. The computer is not in the domain and not in the OU.
Pre-staged and re-imaged computers succeed because their account already exists. The join-only path reuses it and does not need create permission on CN=Computers.
This issue has been reported to our Broadcom Development team and is targeted to be fixed under our ITMS 8.8.2 release.
A pointfix is available for ITMS 8.8.1 release. See CUMULATIVE POST ITMS 8.8.1 POINT FIXES
Review the following steps:
C:\Windows\Debug\NetSetup.log. See KB DS 8.x Automation Logs for all DS client log locations.MachineAccountOU: (NULL), and a Got DN line that contains CN=Computers.Options: 0x10000001 and NetpDoDomainJoin: status: 0x534.Create Computer objects permission on CN=Computers. If it has permission only on the target OU, this article applies.If NetSetup.log shows Account: \ with an empty account name and status 0x791, this article does not apply. See Additional information.
Until the fix is available, use one of the following options.
Option A: Pre-stage the computer account in the target OU (recommended)
CN=Computers.Option B: Grant Create Computer objects on CN=Computers to the join account
Granting the join account Create Computer objects permission on CN=Computers also lets the join succeed. This widens the join account's rights beyond the target OU, and many security teams reject it for that reason. Review it with your Active Directory and security teams before you use it.
NOTE: |
CN=Computers.NetpDoDomainJoin: status: 0x0.