Solved WDS Unattend.xml answer file help needed

commdude

New member
Local time
3:56 PM
Messages
5
I have been trying to transition over to using WDS for my main method of Windows 7 image deployment in our Server 2008 R2 domain environment. I am having trouble with getting the answer file to work properly. I have read through multiple threads, posts, and guides including the guide on this site

http://www.sevenforums.com/tutorials/286053-system-preparation-tool-use-customize-windows.html

and I have been making progress. As of now I have two answer files, as described in this guide:

Deploying Windows 7 Using Windows Deployment Services (WDS): Step-by-Step ? Part II | Augusto Alvarez

One is used to tell WinPE which image to install, and the other is used to answer the questions after the image push is complete. My answer files are as follows:

The answer file configured in the 'client' tab of the WDS server

Code:
<?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>
                <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">
            <DiskConfiguration>
                <Disk wcm:action="add">
                    <CreatePartitions>
                        <CreatePartition wcm:action="add">
                            <Extend>true</Extend>
                            <Order>1</Order>
                            <Type>Primary</Type>
                        </CreatePartition>
                    </CreatePartitions>
                    <ModifyPartitions>
                        <ModifyPartition wcm:action="add">
                            <Active>true</Active>
                            <Extend>false</Extend>
                            <Format>NTFS</Format>
                            <Label>System</Label>
                            <Letter>C</Letter>
                            <Order>1</Order>
                            <PartitionID>1</PartitionID>
                        </ModifyPartition>
                    </ModifyPartitions>
                    <DiskID>0</DiskID>
                    <WillWipeDisk>true</WillWipeDisk>
                </Disk>
            </DiskConfiguration>
            <WindowsDeploymentServices>
                <Login>
                    <Credentials>
                        <Domain>mydomain.local</Domain>
                        <Password>Password</Password>
                        <Username>DomainUser</Username>
                    </Credentials>
                </Login>
                <ImageSelection>
                    <InstallImage>
                        <Filename>Win7.wim</Filename>
                        <ImageName>Win7</ImageName>
                        <ImageGroup>Windows 7 Enterprise x64</ImageGroup>
                    </InstallImage>
                    <InstallTo>
                        <DiskID>0</DiskID>
                        <PartitionID>1</PartitionID>
                    </InstallTo>
                </ImageSelection>
            </WindowsDeploymentServices>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim://antares-g/reminst/images/windows%207%20enterprise%20x64/win7-student-cschool-12dec2013.wim#Win7-Student-Cschool-12Dec2013" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
The answer file attached to the install image:

Code:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="generalize">
        <component name="Microsoft-Windows-Security-SPP" 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">
            <SkipRearm>1</SkipRearm>
        </component>
    </settings>
    <settings pass="specialize">
        <component name="Microsoft-Windows-Deployment" 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">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Path>net user adminaccount /active:yes</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
        <component name="Microsoft-Windows-Security-SPP-UX" 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">
            <SkipAutoActivation>false</SkipAutoActivation>
        </component>
        <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">
            <RegisteredOrganization>Microsoft</RegisteredOrganization>
            <RegisteredOwner>AutoBVT</RegisteredOwner>
            <ShowWindowsLive>false</ShowWindowsLive>
            <TimeZone>Eastern Standard Time</TimeZone>
            <DoNotCleanTaskBar>false</DoNotCleanTaskBar>
        </component>
        <component name="Microsoft-Windows-UnattendedJoin" 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">
            <Identification>
                <Credentials>
                    <Domain>mydomain.local</Domain>
                    <Password>password</Password>
                    <Username>DomainUser</Username>
                </Credentials>
                <JoinDomain>Mydomain.local</JoinDomain>
                <UnsecureJoin>true</UnsecureJoin>
            </Identification>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <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>
            <UserLocale>en-us</UserLocale>
            <UILanguage>en-us</UILanguage>
        </component>
        <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">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <NetworkLocation>Work</NetworkLocation>
                <ProtectYourPC>1</ProtectYourPC>
            </OOBE>
            <UserAccounts>
                <AdministratorPassword>
                    <Value>UABBAFMAUwBXAE8AUgBEAEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAUABhAHMAcwB3AG8AcgBkAA==</Value>
                    <PlainText>false</PlainText>
                </AdministratorPassword>
                <LocalAccounts>
                    <LocalAccount wcm:action="add">
                        <Description>standard user</Description>
                        <DisplayName>Admin</DisplayName>
                        <Group>Users</Group>
                        <Name>Admin</Name>
                    </LocalAccount>
                </LocalAccounts>
            </UserAccounts>
            <RegisteredOrganization>MYCOMPANY</RegisteredOrganization>
            <RegisteredOwner>MYCOMPANY</RegisteredOwner>
        </component>
    </settings>
    <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>
                <UILanguage>en-us</UILanguage>
            </SetupUILanguage>
            <InputLocale>en-us</InputLocale>
            <UserLocale>en-us</UserLocale>
            <UILanguageFallback>en-us</UILanguageFallback>
            <UILanguage>en-us</UILanguage>
            <SystemLocale>en-us</SystemLocale>
        </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>Mydomain.local</Domain>
                        <Password>Password</Password>
                        <Username>DomainUser</Username>
                    </Credentials>
                </Login>
            </WindowsDeploymentServices>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="catalog://antares-g/reminst/images/windows 7 enterprise x64/win7-student-cschool-12dec2013_win7-student-cschool-12dec2013.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
Now, what happens is - the image installs on the client successfully, I am not prompted for any input during the installation, it is fully automated. Windows boots successfully after installation, and I can log in with the "adminaccount" that was included in the image. The OS IS activated. The computer IS joined to the domain, however the computer is named: DomainUser1. I deleted the computer account in AD, I pushed it again and it named the computer to: DomainUser2. I'm not sure why the computer is being named the name of the domain user. Originally I had put in TestComputer for the computer name in the answer file, but it still had named it DomainUser1, so I took the TestComputer out of the answer file, thinking it would prompt me for a name, but instead it named it DomainUser2. This is one issue.

The second issue is, after the first log in, the "Set Network Location" box pops up. Is there a way to avoid this so the user is not asked this?

Third, I need the user that's created during the process to be disabled after it's created since I already have an administrator account included in the image. However the OOBE needs to have a user created, so I just had it create one.

Any and all help is appreciated.
 

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
HP
OS
Windows 7 Enterprise x64
Hi Commdude, welcome to the Seven Forums.

You need to add the Computer Name to Specialize pass as shown in the screenshot below:

2013-12-18_00h34_38.png

This must of course be in the answer file used for installing the selected image, in other words the latter of your two answer files.

Kari
 

My Computer

Computer type
Laptop
Computer Manufacturer/Model Number
HP ENVY 17-1150eg
OS
Windows 10 Pro x64 EN-GB
CPU
1.6 GHz Intel Core i7-720QM Processor
Memory
6 GB
Graphics Card(s)
ATI Mobility Radeon HD 5850 Graphics
Sound Card
Beats sound system with integrated subwoofer
Monitor(s) Displays
17" laptop display, 22" LED and 32" Full HD TV through HDMI
Screen Resolution
1600*900 (1), 1920*1080 (2&3)
Hard Drives
Internal: 2 x 500 GB SATA Hard Disk Drive 7200 rpm
External: 2TB for backups, 3TB USB3 network drive for media
Cooling
As Envy runs a bit warm, I have it on a Cooler Master pad
Keyboard
Logitech diNovo Media Desktop Laser (bluetooth)
Mouse
Logitech Performance Mouse MX
Internet Speed
50/10 Mbps VDSL
Antivirus
Windows Defender 4.3.9431.0
Browser
Maxthon 3.5.2., IE11
Kari, thanks for the help but as I mentioned above, I had already tried putting in a computer name in this field and the computer was still named DomainUser1.

.....The computer IS joined to the domain, however the computer is named: DomainUser1. I deleted the computer account in AD, I pushed it again and it named the computer to: DomainUser2. I'm not sure why the computer is being named the name of the domain user. Originally I had put in TestComputer for the computer name in the answer file, but it still had named it DomainUser1, so I took the TestComputer out of the answer file, thinking it would prompt me for a name, but instead it named it DomainUser2. This is one issue.

I resolved my other two issues by adding synchronous logon commands, one to add a registry key to prevent the Network location from appearing:

CMD /c REG.exe add HKLM\System\CurrentControlSet\Control\Network\NewNetworkWindowOff

and the other to disable the standard user account:

net user Admin /active:no

These worked properly, but I'm still having the issue with the computer name. Something is causing the computer to be named DomainUser2 instead of the name I specify in the Specialize\Shell Setup\Computername. I pushed the image again with the 3 modifications above, and again the computer was named as DomainUser2. Even if I had nothing in the Specialize\Shell Setup\Computername then it still should be prompting me for a name, instead it's naming it DomainUser2.

DomainUser is the user account that I'm using in a few sections of both answer files. DomainUser ONLY has rights delegated to it to join computers to the domain. I have the following sections configured using DomainUser:

In the Unattend.xml file attached to the Server (the first file), I have

Section 1 - WindowsPE\Sindows-Setup_neutral\WindowsDeploymentServices\Login\Credentials.

In the second unattend.xml file, the one attached to the install image I have Domain user configured in the following sections:

Section 1 - WindowsPE\Sindows-Setup_neutral\WindowsDeploymentServices\Login\Credentials (again... not sure if it's needed here?)

Section 4 - Specialize\Windows-UnattendedJoin_neutral\identification\credentials.

Also, I just realized that it is creating two computer accounts in AD. To confirm this, I deleted both computer accounts, pulled to image again, it went through the setup process with no user input, I had the computername set to TestComputer, and in the end the computer was named DomainUser2 again. Now, in AD there are 2 new computer accounts again; DomainUser1 and DomainUser2. Very odd...
 
Last edited:

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
HP
OS
Windows 7 Enterprise x64
I may be on to something...

In the properties of the WDS server, in the AD DS tab there's a 'client naming policy'. Also, in the Client tab there's a check box 'do not join client to a domain after an installation'.

What's happening is - these two settings are taking precedence over the answer file. I tried unchecking the box, and after the image installed it was the computer name I specified in the answer file, however it did not join the domain.
 

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
HP
OS
Windows 7 Enterprise x64
Could you join it to domain afterwards?
 

My Computer

Computer type
Laptop
Computer Manufacturer/Model Number
HP ENVY 17-1150eg
OS
Windows 10 Pro x64 EN-GB
CPU
1.6 GHz Intel Core i7-720QM Processor
Memory
6 GB
Graphics Card(s)
ATI Mobility Radeon HD 5850 Graphics
Sound Card
Beats sound system with integrated subwoofer
Monitor(s) Displays
17" laptop display, 22" LED and 32" Full HD TV through HDMI
Screen Resolution
1600*900 (1), 1920*1080 (2&3)
Hard Drives
Internal: 2 x 500 GB SATA Hard Disk Drive 7200 rpm
External: 2TB for backups, 3TB USB3 network drive for media
Cooling
As Envy runs a bit warm, I have it on a Cooler Master pad
Keyboard
Logitech diNovo Media Desktop Laser (bluetooth)
Mouse
Logitech Performance Mouse MX
Internet Speed
50/10 Mbps VDSL
Antivirus
Windows Defender 4.3.9431.0
Browser
Maxthon 3.5.2., IE11
Absolutely, I can do that. But I'm trying to prepare the deployment of this image to possibly hundreds of computers via multicast. I just need to get the naming down first. I know you can use something along the lines of PC%03# to name the computers PC01, PC02, ect... however I need to make sure it works on one computer first. Individually walking up to 100s of computers to join them to the domain is ancient.
With Symantec Ghost, there is an agent on every computer. So, I can select 20 computers in the ghost console, pre-stage their computer names, and push the image to them all at once. They will be named what I specify and joined to the domain. This is what I'm trying to accomplish with WDS.
 

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
HP
OS
Windows 7 Enterprise x64
I was able to get this to work. I used the AD DS and Client tabs in WDS to configure the computer name instead of relying on the answer file. Thanks for the input though.
 

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
HP
OS
Windows 7 Enterprise x64
Back
Top