VM Customization specification does not complete - no errors returning on the screen but it does not perform the specifications requested.
search cancel

VM Customization specification does not complete - no errors returning on the screen but it does not perform the specifications requested.

book

Article ID: 369625

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

  • 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" specialize
    YYYY-MM-DD HH:MM:SS, Info [setup.exe] [Action Queue] : process exit code = 0
    YYYY-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 = 0xa87
  • C:\Windows\Panther\UnattendGC\setupact.log:

    YYYY-MM-DD HH:MM:SS, Info [DJOIN.EXE] Unattended Join: Begin
    YYYY-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 = 0xa87
    YYYY-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.

Environment

  • VMware vSphere ESXi

  • Windows Server 2016 / 2019

  • Cumulative Windows guest OS updates

Cause

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).

Resolution

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:

  1. Upgrade VMware Tools: Update to the latest version to ensure the most current network drivers are installed.

  2. Verify Patch Level: Check if the failures started immediately following a specific Windows guest OS cumulative update (e.g., May 2026).

  3. Test Adapter Types: Toggle the VM template network adapter between VMXNET3 and E1000e to see if the driver initialization speed impacts the outcome.

Additional Information

For further information regarding the behavior on the Microsoft side, please refer to Joining Domain when Selecting Workgroup.