I've discovered that a surprising number of people haven't experimented with unattended setups for Windows 2000. So let's look at a couple of ways you can install support for Win2K Server Terminal Services during an automated deployment of Win2K Server and how to automatically add the Terminal Services client to a workstation. Let's start with the procedure you use to add Terminal Services to a server with unattended installation scripts.

First, some background: To install Win2K on a computer, you need a) the Setup files, and b) some way to tell the Setup files how and where you want them installed. In a manual installation, "b" is you. In an automated installation, "b" is an unattended installation script. This script is a list of display settings, third-party drivers, services, components, and all the other settings required to set up the OS.

The script is divided into chunks:

\[section1\]
   ;  Commented lines begin with a semicolon
        key=value
        key2="This is value 2"
        key3=value 3.
        \[section2\]
        key=value

Where do you get this script? You can write it yourself, but it's simplest to start with a template. To create the template, run the Setup Manager tool in the Deployment section of the Win2K Server Resource Kit (this tool is also available for download from the Microsoft Web site). Answer the prompts and save the file as directed, and you'll end up with an unattended installation script in the above format. Although this tool lets you create the bare bones of an installation script and is adequate for simple workstation scripts (it even includes an End User License Agreement151;EULA151;section; Setup Manager in Windows NT 4.0 doesn't), you must manually edit the script to add Terminal Services support.

To edit a Setup Manager script, open the file (called unattend.txt by default) in a text editor such as Notepad. Look for the section called \[Components\] (or add the section if it's not there). If you want to install both Terminal Services and the client installation files, the section should look like this:

\[Components\]
   TSEnable=On
   TSClients=On

You might think you're done at this point, but you aren't. Terminal Services is installed with its default settings, and, as you know from manually installing the service, the system installs the service in Remote Administration mode. Scripted installations don't give you any control over the other settings (specifically, the security settings that determine user access to system files), but you can specify Application Server mode in the Terminal Services installation. To do so, create a new section and type the following:

\[TerminalServices\]
   ApplicationServer=1

You'll find the \[Components\] and \[TerminalServices\] sections in the base answer file or in a supplementary answer file called a uniqueness database file (UDF). The UDF is an overlay of the core answer file that lets you specify a core set of installation options (in the answer file) and a computer-specific set unique to the computer that's using the UDF.

An unattended installation script that uses these settings will install Terminal Services while it sets up the rest of the server. For Terminal Services, that's all you have to do to install the service. But there are two catches. First, you can't install the clustering service and Terminal Services on the same computer151;they're mutually exclusive. Second, if you want the server to install without any input from you, you need to add the Setup CD-ROM's Product ID key to the \[UserData\] section:

   ProductID=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

This very brief look shows you how to automate the installation of terminal services. For more details about unattended installations with Win2K, you might want to check out my latest book, "Automated Deployments and Remote Management with Windows 2000" (Sybex, 2001). It provides more detail about how to selectively add and remove components and services to Win2K and how to deploy the RDP client with the minimal amount of agony.