Deploy to a Remotely Controlled Computer

Applies To: Windows 7, Windows Server 2008 R2

Note

This content applies to Windows 7. For Windows 8 content, see Windows Deployment with the Windows ADK.

A remotely controlled computer is a computer without a monitor, a keyboard, or a mouse (also called a headless computer). Because remotely controlled computers must be connected to a network, there are additional networking configurations that you must enable, such as enabling ports in the firewall and enabling remote desktop connections. Unattended installations are required for this type of computer configuration.

The instructions in this topic are for installing Windows Server® 2008 and Windows Server® 2008 R2. If you want to install a remotely controlled Windows® 7 or Windows Vista® computer, you must configure additional setting to prevent Windows® Welcome user interface pages from being displayed. For more information, see Automate Windows Welcome.

To create an answer file for a remotely controlled computer

  1. Create a new answer file or update your existing answer file.

    For more information about creating or updating an answer file, see Work with Answer Files in Windows SIM.

    If you are creating an answer file for a Unified Extensible Firmware Interface (UEFI)-based computer, you must create additional partitions in your answer file. For more information, see Create UEFI-based Hard-Disk Partitions by Using Windows SIM. You must also ensure that the firmware of your EFI-based computer is configured to boot to EFI mode, and not to BIOS mode. Consult your firmware documentation for more information.

  2. Add the following settings to your answer file in the listed configuration pass.

Component Configuration pass

Microsoft-Windows-International-Core-WinPE

windowsPE

Microsoft-Windows-Setup/DiskConfiguration

windowsPE

Microsoft-Windows-Setup/UserData

windowsPE

Microsoft-Windows-Setup/ImageInstall

windowsPE

Microsoft-Windows-Shell-Setup

specialize

Microsoft-Windows-TerminalServices-LocalSessionManager

specialize

Microsoft-Windows-TerminalServices-RDP-WinStationExtensions

specialize

Networking-MPSSVC-Svc/FirewallGroup

specialize

Microsoft-Windows-Shell-Setup/OOBE

oobeSystem

Microsoft-Windows-Shell-Setup/UserAccounts/AdministratorPassword

oobeSystem

Microsoft-Windows-International-Core

oobeSystem

To configure the windowsPE settings

  1. Configure the language setting in the Microsoft-Windows-International-Core-WinPE component.
Component path Setting and value

Microsoft-Windows-International-Core-WinPE/SetupUILanguage

UILanguage=language

Microsoft-Windows-International-Core-WinPE

UILanguage=language

  1. Configure the Microsoft-Windows-Setup node with the following setting.
Component path Setting and value

Microsoft-Windows-Setup

EnableNetwork=false

Set this value to True if you are using a network share during unattended installation.

  1. Configure the disk partitions by using the Microsoft-Windows-Setup component. Right-click DiskConfiguration, and then select Insert New Disk.

  2. In the DiskConfiguration node, right-click CreatePartitions, and then select Insert new CreatePartition. Repeat this step to create a second CreatePartition setting.

  3. In the DiskConfiguration node, right-click ModifyPartitions, and then select Insert new ModifyPartition. Repeat this step to create a second ModifyPartition setting.

  4. Configure the Microsoft-Windows-Setup/DiskConfiguration node with the following settings.

Component path Setting and value

Microsoft-Windows-Setup/DiskConfiguration/Disk

WillWipeDisk=true

DiskID=0

Modify these values if you are deploying to a different hard disk configuration.

Microsoft-Windows-Setup/DiskConfiguration/Disk/CreatePartitions/CreatePartition

Extend=falseOrder=1

Size=300

Type=Primary

Modify these values if you are deploying to a different hard disk configuration.

Microsoft-Windows-Setup/DiskConfiguration/Disk/CreatePartitions/CreatePartition

Order=2

Extend=true

Type=Primary

Modify these values if you are deploying to a different hard disk configuration.

Microsoft-Windows-Setup/DiskConfiguration/Disk/ModifyPartitions/ModifyPartition

Active=true

Extend=false

Format=NTFS

Label=System

Order=1

PartitionID=1

TypeID=0x27

Modify these values if you are deploying to a different hard disk configuration.

Microsoft-Windows-Setup/DiskConfiguration/Disk/ModifyPartitions/ModifyPartition

Extend=falseFormat=NTFS

Label=Windows

Letter=C

Order=2

PartitionID=2

TypeID=0x7

Modify these values if you are deploying to a different hard disk configuration.

Note

If you are creating an answer file for a Unified Extensible Firmware Interface (UEFI)-based computer, you must configure different partition types in your answer file. For more information, see Create UEFI-based Hard-Disk Partitions by Using Windows SIM.

  1. In the Microsoft-Windows-Setup component, expand the ImageInstall node, and then expand the OSImage node.

  2. Configure the Microsoft-Windows-Setup/ImageInstall/OSImage node with the following settings.

Component path Setting and value

Microsoft-Windows-Setup/ImageInstall/OSImage/InstallTo

DiskID=disk

PartitionID=partition

  1. Right-click InstallFrom, and then select Insert New MetaData.

  2. Configure the Microsoft-Windows-Setup/ImageInstall/OSImage/InstallFrom/MetaData node with the following settings.

Component path Setting and value

Microsoft-Windows-Setup/ImageInstall/OSImage/InstallFrom/MetaData

Key=image metadata identifier

Value=image metadata value

For example,

Key=/IMAGE/INDEX

Value=2

  1. Configure the Microsoft-Windows-Setup/UserData node with the following settings.
Component path Setting and value

Microsoft-Windows-Setup/UserData/ProductKey

ProductKey/Key=product_key

ProductKey/WillShowUI=Never

Microsoft-Windows-Setup/UserData

AcceptEula=true

To configure the specialize settings

  1. Configure Microsoft-Windows-Shell-Setup with the following settings.
Component path Setting and value

Microsoft-Windows-Shell-Setup

ComputerName=computername

  1. Configure the Microsoft-Windows-TerminalServices-LocalSessionManager component with the following settings.
Component path Setting and value

Microsoft-Windows-TerminalServices-LocalSessionManager

fDenyTSConnections=false

  1. Configure the Microsoft-Windows-TerminalServices-RDP-WinStationExtensions component with the following settings.
Component path Setting and value

Microsoft-Windows-TerminalServices-RDP-WinStationExtensions

UserAuthentication=0

  1. In the answer file pane, right-click FirewallGroups, and then select Insert new Firewall Group.

  2. Configure the Firewall Group with the following settings.

Component path Setting and value

Networking-MPSSVC-Svc/FirewallGroups/FirewallGroup

Active=true

Group=Remote Desktop

Key=EnableRemoteDesktop

Profile=all

To configure the oobeSystem settings

  1. Configure Microsoft-Windows-Shell-Setup with the following settings.
Component path Setting and value

Microsoft-Windows-Shell-Setup/UserAccounts/AdministratorPassword

Value=password

Microsoft-Windows-Shell-Setup/OOBE

HideEULAPage=true

  1. Configure Microsoft-Windows-International-Core with the following settings.
Component path Setting and value

Microsoft-Windows-International-Core

InputLocale=language

SystemLocale= language

UILanguage= language

UserLocale=language

You are now ready to install your Windows image.

Note

If you run the Sysprep command with the /generalize option on your Windows image, some settings that are required to prevent user interface pages from displaying might be reset. When the computer boots after the generalize process, the installation might display Windows Welcome user interface pages. To prevent the user interface pages from displaying, use an answer file with the Sysprep command to hide the user interface pages during Windows Welcome. For more information, see Automate Windows Welcome. For more information about using an answer file with the Sysprep tool, see How Sysprep Works.

Sample Answer File

A sample answer file is provided below. In some cases, settings configured with -INSERT VALUE HERE- need to be completed with your specific values.

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <ImageInstall>
                <OSImage>
                    <InstallTo>
                        <DiskID>0</DiskID>
                        <PartitionID>2</PartitionID>
                    </InstallTo>
                    <InstallFrom>
                        <MetaData wcm:action="add">
                            <Key>/IMAGE/INDEX</Key>
                            <Value>-INSERT VALUE HERE-</Value>
                        </MetaData>
                    </InstallFrom>
                </OSImage>
            </ImageInstall>
            <UserData>
                <ProductKey>
                    <Key>-INSERT VALUE HERE-</Key>
                    <WillShowUI>OnError</WillShowUI>
                </ProductKey>
                <AcceptEula>true</AcceptEula>
            </UserData>
            <DiskConfiguration>
                <Disk wcm:action="add">
                    <CreatePartitions>
                        <CreatePartition wcm:action="add">
                            <Extend>false</Extend>
                            <Order>1</Order>
                            <Size>300</Size>
                            <Type>Primary</Type>
                        </CreatePartition>
                        <CreatePartition wcm:action="add">
                            <Order>2</Order>
                            <Extend>true</Extend>
                            <Type>Primary</Type>
                        </CreatePartition>
                    </CreatePartitions>
                    <ModifyPartitions>
                        <ModifyPartition wcm:action="add">
                            <Active>true</Active>
                            <Extend>false</Extend>
                            <Format>NTFS</Format>
                            <Label>System</Label>
                            <Order>1</Order>
                            <PartitionID>1</PartitionID>
                            <TypeID>0x27</TypeID>
                        </ModifyPartition>
                        <ModifyPartition wcm:action="add">
                            <Extend>false</Extend>
                            <Format>NTFS</Format>
                            <Label>Windows</Label>
                            <Letter>C</Letter>
                            <Order>2</Order>
                            <PartitionID>2</PartitionID>
                            <TypeID>0x7</TypeID>
                        </ModifyPartition>
                    </ModifyPartitions>
                    <DiskID>0</DiskID>
                    <WillWipeDisk>true</WillWipeDisk>
                </Disk>
            </DiskConfiguration>
        </component>
        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://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>
            <UILanguage>en-us</UILanguage>
            <UILanguageFallback>en-us</UILanguageFallback>
            <UserLocale>en-us</UserLocale>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
            </OOBE>
            <AutoLogon>
                <Password>
                    <Value>-INSERT VALUE HERE-</Value>
                    <PlainText>true</PlainText>
                </Password>
                <LogonCount>9</LogonCount>
                <Username>Administrator</Username>
                <Enabled>true</Enabled>
            </AutoLogon>
            <UserAccounts>
                <AdministratorPassword>
                    <Value>-INSERT VALUE HERE-</Value>
                    <PlainText>true</PlainText>
                </AdministratorPassword>
            </UserAccounts>
        </component>
    </settings>
    <settings pass="specialize">
        <component name="Microsoft-Windows-TerminalServices-LocalSessionManager" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <fDenyTSConnections>false</fDenyTSConnections>
        </component>
        <component name="Networking-MPSSVC-Svc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <FirewallGroups>
                <FirewallGroup wcm:action="add" wcm:keyValue="EnableRemoteDesktop">
                    <Active>true</Active>
                    <Group>Remote Desktop</Group>
                    <Profile>all</Profile>
                </FirewallGroup>
            </FirewallGroups>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <ComputerName>Headless</ComputerName>
        </component>
    </settings>
    </unattend>

See Also

Concepts

Configure Other Windows Options