Unattend Command
The Unattend command is designed for users who are familiar with Team Foundation Server (TFS) and the configuration process, and who need to install TFS on different machines.
For example, if you use Team Foundation Build, you can use the Unattend command to install multiple build servers using the same configuration file.
You use the Unattend /create option to create an unattend file. This file defines all configuration parameters for a TFS installation. Next, you use the Unattend /configure option to actually perform the configuration.
This process allows you to configure TFS from start to finish without having to provide input during the installation process. In the case of multiple installations, this also helps ensure that the exact same configuration parameters are used across multiple servers.
Requirements
You must be a member of the Administrators group on the computer where you are installing the software.
Depending on the type of installation, you might also require additional administrator permissions. For example, if you are using the Unattend command to install Team Foundation Server, you must be a member of the sysadmin group on the instance of SQL Server that will support TFS. For more information, see the Q & A section of Set administrator permissions for Team Foundation Server.
Even if you log on with administrative credentials, you must open an elevated Command Prompt window.
Before you can use the Unattend command to configure TFS, you must create the service accounts you will use as part of your deployment. You must also install any prerequisite software for your chosen installation type. This includes TFS itself. You must install TFS but you don’t have to configure it because the Unattend command will do that for you.
TFSConfig unattend /create /type:InstallType /unattendfile:ConfigurationFileName [/inputs:Key1=Value1; Key2=Value2;...]
TFSConfig unattend /configure /type:InstallType /unattendfile:ConfigurationFileName [/inputs:Key1=Value1; Key2=Value2;...] [/verify] [/continue]
Parameters
Parameter |
Description |
---|---|
InstallType |
Specifies the type of configuration to use.
|
ConfigurationFileName |
Specifies the name of the unattend file to create or use in configuration, for example, "ConfigureMyTFS.ini". |
Key1=Value1; Key2=Value2; |
Specifies the parameters and values for configuration variables, such as the account to use as the service account. For example, the key and value pair to specify the Network Service account as the service account for TFS is "ServiceAccountName="NT Authority\Network Service"". |
Option |
Description |
---|---|
/create |
Required if /configure is not used. Creates the unattend file with the name and parameters you specify. |
/configure |
Required if/create is not used. Configures TFS using the unattend file and parameters you specify. |
/type |
Specifies the configuration type. When you use /configure, either /type or /unattendfile are required, but you cannot use both. |
/unattendfile |
Specifies the unattend file to create or use, depending on whether the initial parameter is /create or /configure. When you use /configure, either /unattendfile or /type is required. |
/inputs |
Optional. If you use /create, specifies settings and values to use when creating the unattend file. If you use /configurespecifies additional settings and values to use in conjunction with the unattend file. As an alternative to using /inputs, you can manually edit the unattend file in any plain-text editor. This is necessary for certain input types, such as ServiceAccountPassword, as the password cannot be set using the /inputs parameter. |
/verify |
Optional. Specifies a configuration run that only completes verification checks based on the unattend file, inputs, and configuration type. This is an alternative to performing a complete configuration. |
/continue |
Optional. Specifies that /create or /configure should continue regardless of warnings from verification checks. |
/? |
Optional. Provides command-line help for the unattend command. |
Remarks
The Unattend command configures TFS components. It does not perform the initial installation of the software. It configures the software according to your specifications after the bits are present on the computer.
Example
The following example shows how to create an unattend file for a basic installation of Team Foundation Server.
TFSConfig Unattend /create /type:basic /unattendfile:configTFSBasic.ini
In this example, the unattend file is created in the same directory as the command. A log file is created as part of the command, and the location of the file is returned in the command as part of executing the command.
The following example shows how to create an unattend file for the configuration of Team Foundation Build on a server using "FabrikamFiber\BuildSVC" as the build service account, and then configure Team Foundation Build using that unattend file.
Important
In this example, after creating the unattend file, the administrator manually edits the file to specify the password for the build service account. Adding the password as an input using "ServiceAccountPassword=Password" doesn’t add the password information to the file.
TFSConfig Unattend /create /type:build /unattendfile:configTFSBuild.ini /inputs:IsServiceAccountBuiltIn=false;ServiceAccountName=FabrikamFiber\BuildSVCTFSConfig Unattend /configure /unattendfile:configTFSBuild.ini
The first command returns the following:
Microsoft (R) TfsConfig - Team Foundation Server Configuration Tool
Copyright (c) Microsoft Corporation. All rights reserved.
Command: unattend
Logging sent to file C:\ProgramData\Microsoft\Team Foundation\Server Configuration\Logs\TFS_Build Configuration_0512_203133.log
The second command returns the following information, including the name of the server where Team Foundation Build was configured (FabrikamFiberTFS) and the team project collection associated with the controller (DefaultCollection):
Microsoft (R) TfsConfig - Team Foundation Server Configuration Tool
Copyright (c) Microsoft Corporation. All rights reserved.
Command: unattend
---------------------------------------------
Inputs:
---------------------------------------------
Feedback
Send Feedback: True
Build Resources
Configuration Type: create
Agent Count: 1
New Controller Name: FabrikamFiberTFS - Controller
Clean Up Resources: False
Team Project Collection
Collection URL: http://FabrikamFiberTFS:8080/tfs/defaultcollection
Windows Service
Service Account: FabrikamFiber\BuildSVC
Service Password: ********
Advanced Settings *
Port: 9191
---------------------------------------------
Running Readiness Checks
---------------------------------------------
[1/2] System Verifications
[2/2] Build Service Verifications
---------------------------------------------
Configuring
---------------------------------------------
root
[1/4] Install Team Foundation Build Service
Installing Windows services ...
Adding service account to groups ...
Setting ACL on a windows service
[2/4] Enable Event Logging
Adding event log sources ...
Token replace a config file
RegisterBuildEtwProvider
Configuring ETW event sources ...
[3/4] Register with Team Foundation Server
Registering the build service
[4/4] Start Team Foundation Build Service
StartBuildHost
Starting Windows services ...
Marking feature configured status
[Info] [Register with Team Foundation Server] Firewall exception added for port
9191
TeamBuild completed successfully.
Logging sent to file C:\ProgramData\Microsoft\Team Foundation\Server Configuration\Logs\TFS_Build Configuration_0512_203322.log