[Solved] Domain Join seemingly not working?

tired-it

Member
Messages
241
Reaction score
23
Working on a Windows 11 25H2 image today. This image will be used on laptops. The WIFI profile has been added via Post-Setup and the WIFI drivers have also been added.

In the Unattended section, I choose to network join using credentials that are authorized to add users to a domain. I can manually join the laptops using these same credentials. I checked "C:\Windows\Panther\UnattendGC" and found the files "setupact.log" and "setuperr.log"

Here are the contents, the "setupact.log" file was truncated:

2026-03-30 16:28:07, Error [DJOIN.EXE] Unattended Join: NetJoinDomain failed error code is [1355]
2026-03-30 16:28:07, Error [DJOIN.EXE] Unattended Join: Unable to join; gdwError = 0x54b

2026-03-30 16:12:56, Info [Shell Unattend] Exiting 'specialize' pass with status 0x002c1000
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: Begin
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: Loading input parameters...
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: AccountData = [NULL]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: UnsecureJoin = [false]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: MachinePassword = [secret not logged]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: JoinDomain = [ody.internal]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: JoinWorkgroup = [NULL]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: Domain = [sensitive]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: Username = [user]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: Password = [secret not logged]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: MachineObjectOU = [Computers]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: DebugJoin = [NULL]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: DebugJoinOnlyOnThisError = [NULL]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: TimeoutPeriodInMinutes = [15]
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: Checking that auto start services have started.
2026-03-30 16:12:56, Info [DJOIN.EXE] Setting timeout period to user specified value of: 15 minutes
2026-03-30 16:12:56, Info [DJOIN.EXE] Unattended Join: Calling DsGetDcName for ody.internal...
2026-03-30 16:12:56, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:13:06, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:13:16, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:13:26, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:13:36, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:13:46, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:13:56, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:14:06, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:14:16, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:14:26, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:14:36, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:14:46, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:14:56, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:15:06, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:15:16, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:15:26, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:15:36, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:15:46, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:15:56, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:16:06, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:16:16, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:16:26, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:16:36, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:16:46, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:16:56, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:17:06, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:17:16, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:17:26, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:17:36, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:17:46, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:17:56, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:18:06, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:18:16, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:18:26, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:18:36, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:18:46, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:18:56, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:19:06, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:19:16, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:19:26, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:19:36, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:19:46, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:19:56, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:20:06, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:20:16, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:20:26, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:20:36, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:20:46, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:20:56, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:21:06, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:21:16, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:21:26, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:21:37, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:21:47, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:21:57, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:22:07, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:22:17, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:22:27, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:22:37, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:22:47, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:22:57, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:23:07, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:23:17, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:23:27, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:23:37, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:23:47, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:23:57, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:24:07, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:24:17, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:24:27, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:24:37, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:24:47, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:24:57, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:25:07, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:25:17, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:25:27, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:25:37, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:25:47, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:25:57, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:26:07, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:26:17, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:26:27, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:26:37, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:26:47, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:26:57, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:27:07, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:27:17, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:27:27, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:27:37, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:27:47, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:27:57, Info [DJOIN.EXE] Unattended Join: Calling DsGetDcName for sensitive...
2026-03-30 16:27:57, Warning [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x54b, last error is 0x0, will retry in 10 seconds...
2026-03-30 16:28:07, Error [DJOIN.EXE] Unattended Join: NetJoinDomain failed error code is [1355]
2026-03-30 16:28:07, Error [DJOIN.EXE] Unattended Join: Unable to join; gdwError = 0x54b
2026-03-30 16:28:07, Info [DJOIN.EXE] Unattended Join: Exit, returning 0x0
2026-03-30 16:28:07, Info [windeploy.exe] Process exited with exit code [0x0]
2026-03-30 16:28:07, Info [windeploy.exe] Found completion flag [True], reboot requested flag [True] --> rebooting computer before proceeding with deployment...
2026-03-30 16:28:07, Info [windeploy.exe] OrchestrateAreOnlyOOBEServicesRunning: Found a non-OOBE service AppIDSvc
2026-03-30 16:28:07, Info [windeploy.exe] OrchestrateDetermineComputerNameChange: Checking computer name change conditions:
 
Setupact.log has repeated "DsGetDcName failed: 0x54b" errors.

I'm not an AD expert, but as my old friend Richard (who used to work for MS professional services) liked to say "it's always a DNS problem."
 
DNS you say? Odd. I can still do a manual join using the same credentials after reaching the desktop on the local account. I wonder why it's only during the auto-join process that it fails.
 
For testing your auto-join, don't use unattended mode to bypass OOBE. Wait until you reach the OOBE screen, do a Shift-F10.
Now run your auto-join while paused. It's far easier to test things this way.
 
For testing your auto-join, don't use unattended mode to bypass OOBE. Wait until you reach the OOBE screen, do a Shift-F10.
Now run your auto-join while paused. It's far easier to test things this way.
If I am understanding correctly, I should turn off all the unattended switches for OOBE and do a manual join? Or is there a script I should be using instead of NTLite's options for joining the domain?
 
The point is to confirm that networking is ready at this stage, since OOBE happens immediately before Post-Setup (Before logon). The same commands you use for a manual join should work while OOBE is paused (because it's not in unattended mode).

If you pick a specific hostname during OOBE, there's a reboot for that change to take effect before resuming the rest of OOBE. But assuming a reboot for hostname change wasn't needed, then OOBE exits directly in running the Post-Setup script. Therefore the OOBE environment should be similar to the same environment as Post-Setup.

By pausing at the first OOBE screen, you can take your time running commands from Shift-F10's CMD window.
 
I can confirm that the network adapter is working and the network is being recognized using "ipconfig /all" I also have the PC set to prompt for a name during setup and I see that the name shows up in the information in the command. Still need to try a working join command.
 
Can you ping the AD server? Is DNS working for you? Are you using a secure or unsecure join?
 
On a whim I found and slightly modified a Powershell script and added it to the after-logon stage. That worked, but is this the right approach?

Code:
$password = "userpassword" | ConvertTo-SecureString -asPlainText -Force
$user = "$domain\username"
$credential = New-Object System.Management.Automation.PSCredential($user,$password)
Add-Computer -DomainName domain.name -Credential $credential

Still want to figure out why domain joining via NTLite's options are not working for me.
 
I know exactly what's going on. NTLite uses the normal method of adding your domain join details to the unattended file. But according to the MS docs, this information is applied in the specialized pass, way before your Wi-Fi profile is added in OOBE (Post-Setup).

Without a working Wi-Fi connection, no domain join is possible. If this was a wired PC, the unattended method works since Ethernet doesn't require a password. So in your case, run your PS script immediately after the netsh command.

Add a "Start-Sleep 2" as your script's first line, so the Wi-Fi connection can always finish before you try joining the domain.
 
I know exactly what's going on. NTLite uses the normal method of adding your domain join details to the unattended file. But according to the MS docs, this information is applied in the specialized pass, way before your Wi-Fi profile is added in OOBE (Post-Setup).

Without a working Wi-Fi connection, no domain join is possible. If this was a wired PC, the unattended method works since Ethernet doesn't require a password. So in your case, run your PS script immediately after the netsh command.

Add a "Start-Sleep 2" as your script's first line, so the Wi-Fi connection can always finish before you try joining the domain.
Good catch! I'm flabbergasted that I missed that note about ethernet v. wireless connectivity affecting the joining process. I'll try adding the line and moving the script in the Post-Setup order, thanks!
 
As expected, installation went smoothly and Domain joining worked with the script being placed after the Wifi profile install command.
 
Back
Top