On a recent project we were automating the build of 32-bit and 64-bit Windows 2003 SP2 servers. This was within a very large “Global” Active Directory environment, with many Trusted and External Domains.
The 32-bit builds were working fine, but the 64-bit builds were not adhering to the Active Directory Sites and Services locations to locate the closest Domain Controller. The 64-bit servers were joining the Domain successfully, but on a reboot they were unable to authenticate. This is because they had joint the Domain by making a connection to a remote Domain Controller located somewhere else around the world, but on reboot were trying to authenticate against a local Domain Controller. Of course, at this stage replication had not taken place, so the local Domain Controllers had no record of the new Computer account, and hence the reason why it was failing to authenticate.
I did a lot of research, but found nothing. However I concluded that this a bug with the Windows 2003 64-bit unattend process in the way it joins the domain.
So I changed my automated build model to build the servers as workgroup servers and then run a vbscript to join the domain during the GUIRUNONCE tasks. This has been working well with 100% success for every new server built. The script makes a connection to the local Domain Controllers, rather than some random Domain Controller located somewhere else in the world.
You can find the script here.
I hope you find this information useful.