Hello,
We are currently in the testing phase of setting up WDS in our organization and are running into a few small problems. Right now we have WDS on Server 2016 on a separate VLAN and this server also hosts the DHCP for that VLAN. It can still talk to the other servers and most importantly talk to our AD domain.
The problem I am running into is that on Windows 10 we seem to be unable to properly join a domain unattended. We created a service account for the purpose and it works just fine on Windows 7 unattended installs. It also works properly to connect to the WDS to get the list of images available. What happens is after the first boot when it's prepping for the OOBE the machine will reboot and then say "Why did my PC restart?". If we click OK then it will set it up properly on the next boot. This can't be right. I've also noticed that the checkboxes for joining a domain or not joining one in WDS properties appear to do nothing. Ideally, I'd like to have it just setup the Administrator account silently the autologon to the service account so we can install our AV and any custom per-user software as a final step. We have a group policy in effect that renames the Administrator account to something else and sets a password only we know and locks out the account on that machine. Right now, it sets up an WDSAdmin account and autologon to this so we have to join the domain as a final step and rename the machine. On reboot we logon to a domain admin account and remove the WDSAdmin account.
Another problem we are having is that during approval process we set a machine name and this does not seem to get passed over to Windows. I thought this would do this and I would like it to do so.
We have two unattended files. One is pointed to the image itself which does specialize and oobe pass. During approval, we have an unattended for WinPE for picking an image and disk setup. It also mirrors the specialize pass. I am not sure if that is necessary, but I've seen that done as examples elsewhere.
Here is our install XML we pick during the approval process:
<?xml version="1.0" encoding="utf-8"?><unattend xmlns="urn:schemas-microsoft-com:unattend"><settings pass="windowsPE"><component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SetupUILanguage><WillShowUI>OnError</WillShowUI><UILanguage>en-US</UILanguage></SetupUILanguage><InputLocale>en-US</InputLocale><SystemLocale>en-US</SystemLocale><UILanguage>en-US</UILanguage><UILanguageFallback>en-US</UILanguageFallback><UserLocale>en-US</UserLocale></component><component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><WindowsDeploymentServices><Login><Credentials><Domain>XXX</Domain><Password>XXX</Password><Username>XXX</Username></Credentials></Login><ImageSelection><InstallImage><ImageGroup>Win_10_Pro_VLK</ImageGroup><ImageName>Win_10_Pro_VLK_VMWare_Unattend</ImageName><Filename>Win_10_Pro_VLK_VMWare_Unattend-(2).wim</Filename></InstallImage><InstallTo><DiskID>0</DiskID><PartitionID>4</PartitionID></InstallTo></ImageSelection></WindowsDeploymentServices><DiskConfiguration><Disk wcm:action="add"><CreatePartitions><CreatePartition wcm:action="add"><Order>1</Order><Size>500</Size><Type>Primary</Type><Extend>false</Extend></CreatePartition><CreatePartition wcm:action="add"><Order>2</Order><Type>EFI</Type><Extend>false</Extend><Size>100</Size></CreatePartition><CreatePartition wcm:action="add"><Order>3</Order><Extend>false</Extend><Size>16</Size><Type>MSR</Type></CreatePartition><CreatePartition wcm:action="add"><Order>4</Order><Extend>true</Extend><Type>Primary</Type></CreatePartition></CreatePartitions><ModifyPartitions><ModifyPartition wcm:action="add"><Active>false</Active><Format>NTFS</Format><Label>Recovery</Label><Order>1</Order><PartitionID>1</PartitionID><TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID></ModifyPartition><ModifyPartition wcm:action="add"><Order>4</Order><Label>Windows</Label><Format>NTFS</Format><Letter>C</Letter><PartitionID>4</PartitionID></ModifyPartition><ModifyPartition wcm:action="add"><Order>3</Order><PartitionID>3</PartitionID></ModifyPartition><ModifyPartition wcm:action="add"><Order>2</Order><Format>FAT32</Format><Label>System</Label><PartitionID>2</PartitionID></ModifyPartition></ModifyPartitions><DiskID>0</DiskID><WillWipeDisk>true</WillWipeDisk></Disk><WillShowUI>OnError</WillShowUI></DiskConfiguration><UserData><ProductKey><Key>XXX</Key><WillShowUI>OnError</WillShowUI></ProductKey><AcceptEula>true</AcceptEula><FullName>XXX</FullName><Organization>XXX</Organization></UserData></component></settings><settings pass="specialize"><component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ProductKey>XXX</ProductKey><SignInMode>1</SignInMode><DoNotCleanTaskBar>false</DoNotCleanTaskBar><TimeZone>Eastern Standard Time</TimeZone></component><component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><InputLocale>en-US</InputLocale><SystemLocale>en-US</SystemLocale><UILanguage>en-US</UILanguage><UILanguageFallback>en-US</UILanguageFallback><UserLocale>en-US</UserLocale></component></settings><cpi:offlineImage cpi:source="wim:d:/sources/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" /></unattend>
Here is our XML we add to the image in the properties:
<?xml version="1.0" encoding="utf-8"?><unattend xmlns="urn:schemas-microsoft-com:unattend"><settings pass="specialize"><component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><DesktopOptimization><GoToDesktopOnSignIn>true</GoToDesktopOnSignIn><ShowWindowsStoreAppsOnTaskbar>false</ShowWindowsStoreAppsOnTaskbar></DesktopOptimization><ProductKey>XXX</ProductKey><SignInMode>1</SignInMode><DoNotCleanTaskBar>false</DoNotCleanTaskBar><TimeZone>Eastern Standard Time</TimeZone><ComputerName>WDSLab</ComputerName></component></settings><settings pass="oobeSystem"><component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><DesktopOptimization><GoToDesktopOnSignIn>true</GoToDesktopOnSignIn><ShowWindowsStoreAppsOnTaskbar>false</ShowWindowsStoreAppsOnTaskbar></DesktopOptimization><UserAccounts><LocalAccounts><LocalAccount wcm:action="add"><Password><Value>XXX</Value><PlainText>false</PlainText></Password><Description>Local Administrator Account</Description><DisplayName>WDSAdmin</DisplayName><Group>Administrators</Group><Name>WDSAdmin</Name></LocalAccount></LocalAccounts></UserAccounts><OOBE><HideEULAPage>true</HideEULAPage><HideLocalAccountScreen>true</HideLocalAccountScreen><HideOEMRegistrationScreen>true</HideOEMRegistrationScreen><HideOnlineAccountScreens>true</HideOnlineAccountScreens><HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE><ProtectYourPC>3</ProtectYourPC></OOBE><DoNotCleanTaskBar>false</DoNotCleanTaskBar><SignInMode>1</SignInMode><TimeZone>Eastern Standard Time</TimeZone><AutoLogon><Password><Value>XXX</Value><PlainText>false</PlainText></Password><Enabled>true</Enabled><Username>WDSAdmin</Username><LogonCount>1</LogonCount></AutoLogon></component><component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><InputLocale>en-US</InputLocale><UILanguage>en-US</UILanguage><UILanguageFallback>en-US</UILanguageFallback><UserLocale>en-US</UserLocale><SystemLocale>en-US</SystemLocale></component></settings><cpi:offlineImage cpi:source="wim:c:/users/franks/desktop/win10_aik/sources/install.wim#Windows 10 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" /></unattend>
EDIT: I stripped out UnattendedJoin in the unattended file (since it was causing issues in Win10) but it was applied during the Specialize stage with amd64_Microsoft-Windows-UnattendedJoin. We are not using UnsecureJoin.