Windows guest OS virtual machine deployment from a template does not complete the requested customization.
The VM fails to join the Active Directory domain or incorrectly attempts to join a domain when a workgroup is specified.
Deployment logs show a 15-minute timeout loop during the Sysprep specialize phase.
Logs from the domain join investigation inside the Windows guest OS are similar to this:
C:\Windows\Panther\UnattendGC\setupact.log:
YYYY-MM-DD HH:MM:SS, Info [setup.exe] [Action Queue] : Executing command "C:\WINDOWS\SYSTEM32\DJOIN.EXE" specializeYYYY-MM-DD HH:MM:SS, Info [setup.exe] [Action Queue] : process exit code = 0YYYY-MM-DD HH:MM:SS, Info [setup.exe] [Action Queue] : Unattend action returned operation complete.C:\Windows\Panther\UnattendGC\setuperr.log:YYYY-MM-DD HH:MM:SS, Error [DJOIN.EXE] Unattended Join: NetJoinDomain failed error code is [2695]YYYY-MM-DD HH:MM:SS, Error [DJOIN.EXE] Unattended Join: Unable to join; gdwError = 0xa87C:\Windows\Panther\UnattendGC\setupact.log:YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: BeginYYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: Loading input parameters...YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: AccountData = [NULL]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: UnsecureJoin = [NULL]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: MachinePassword = [secret not logged]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: JoinDomain = [NULL]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: JoinWorkgroup = [base#####]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: Domain = [NULL]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: Username = [NULL]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: Password = [secret not logged]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: MachineObjectOU = [NULL]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: DebugJoin = [NULL]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: DebugJoinOnlyOnThisError = [NULL]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: TimeoutPeriodInMinutes = [NULL]YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: Checking that auto start services have started.YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: Joining workgroup [base#####]...YYYY-MM-DD HH:MM:SS, Warning [DJOIN.EXE] Unattended Join: NetJoinDomain attempt failed: 0xa87, will retry in 10 seconds...The Windows guest OS continuously attempts to join the domain for roughly 15 minutes before abandoning the operation:YYYY-MM-DD HH:MM:SS, Warning [DJOIN.EXE] Unattended Join: NetJoinDomain attempt failed: 0xa87, will retry in 10 seconds...YYYY-MM-DD HH:MM:SS, Error [DJOIN.EXE] Unattended Join: NetJoinDomain failed error code is [2695]YYYY-MM-DD HH:MM:SS, Error [DJOIN.EXE] Unattended Join: Unable to join; gdwError = 0xa87YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: Exit, returning 0x0
Windows Server 2016 virtual machine deployment from a template fails to join the Active Directory domain during customization. The customization process enters a 15-minute timeout loop during the Sysprep specialize phase.
The following error also appears in C:\Windows\Panther\UnattendGC\setupact.log: [DJOIN.EXE] Unattended Join: DsGetDcName failed: 0x57, last error is 0x0, will retry in 10 seconds...
Network logs may show that the VMXNET3 adapter is not fully initialized when DJOIN.EXE attempts the domain join.
VMware vSphere ESXi
Windows Server 2016 / 2019
Cumulative Windows guest OS updates
This originates from a third-party issue, which is specifically documented under "Joining Domain when Selecting Workgroup"
In the second symptom scenario, a race condition between the Windows Server 2016 network stack initialization and DJOIN.EXE during the Sysprep specialize phase causes the domain controller to be unreachable. May 2026 cumulative updates worsen this timing issue, causing the domain join to fail with error 0x57 (Invalid Parameter).
This issue is confirmed to reside within the Windows guest operating system components. Engage Microsoft support for resolution.
Use the following steps to isolate and bypass the race condition:
Upgrade VMware Tools: Update to the latest version to ensure the most current network drivers are installed.
Verify Patch Level: Check if the failures started immediately following a specific Windows guest OS cumulative update (e.g., May 2026).
Test Adapter Types: Toggle the VM template network adapter between VMXNET3 and E1000e to see if the driver initialization speed impacts the outcome.
For further information regarding the behavior on the Microsoft side, please refer to Joining Domain when Selecting Workgroup.