Zero Touch Installation Deployment Feature Team Guide

Planning

Published: August 27, 2005

Figure 2 illustrates the primary activities that occur during the Planning Phase. While other teams are developing images, project plans, and so on, the Release Management feature team is starting to focus on the existing production environment to decide how to approach the deployment. The team must look at all the locations and departments whose workstations will be upgraded and must decide in what order the upgrades will occur.

Figure 2. Activities during the Planning Phase

Figure 2. Activities during the Planning Phase
See full-sized image

The following sections describe the planning process:

Roles and Responsibilities

Milestones and Deliverables in the Planning Phase

Selecting the Appropriate Deployment Scenario

Ensuring That the Required Infrastructure Exists

Planning How to Monitor the Deployment

Determining the Appropriate ZTI Processing Rules

Training Team Members

Obtaining Consensus for Deployment Plans

On This Page
Roles and ResponsibilitiesRoles and Responsibilities
Milestones and Deliverables in the Planning PhaseMilestones and Deliverables in the Planning Phase
Selecting the Appropriate Deployment ScenarioSelecting the Appropriate Deployment Scenario
Ensuring That the Required Infrastructure ExistsEnsuring That the Required Infrastructure Exists
Determining the Appropriate ZTI Processing RulesDetermining the Appropriate ZTI Processing Rules
Training Team MembersTraining Team Members
Obtaining Consensus for Deployment PlansObtaining Consensus for Deployment Plans

Roles and Responsibilities

All six role clusters from the MSF Team Model play a role in the Planning Phase of the initiative. Table 4 lists those roles and defines the focus areas for each role cluster relative to the deployment process in the Planning Phase.

Note   For more information about MSF team role clusters, see MSF Team Model in the Additional Resources section of this guide.

Table 4. Team Roles and Responsibilities in the Planning Phase

RoleFocus

Product management

Business requirements analysis; communications plan

Program management

Master project plan and master project schedule; budget

Development

Technology evaluations; logical and physical design; development plan and schedule; establishing the lab

User experience

Usage scenarios/use cases; user requirements; localization/accessibility requirements; user documentation; training plans; schedules

Test

Testing requirements definition; test plan and schedule

Release management

Operations requirements; pilot and deployment plan/schedule; network discovery; application and hardware inventory; interfacing with operations and security feature teams

Milestones and Deliverables in the Planning Phase

Table 5 lists the project milestones and deliverables that you need to complete during the Planning Phase. The project plan you create needs to include these milestones, the resources required for each milestone, and the length of time to complete each milestone.

Table 5. Planning Phase Project Milestones and Deliverable Description

Planning Phase MilestoneDeliverable DescriptionOwner

Appropriate deployment scenario selected

The appropriate combination of scenarios (new computer installation, in-place upgrade, or side-by-side upgrade) is identified.

Development

Required infrastructure exists

Perquisite technologies and infrastructure exists for performing the deployment.

Development

Monitoring plan complete

The list of servers, services, and system resources to be monitored is created. The frequency of monitoring is also decided.

Development

Teams trained

Any training required by the Operations and Deployment feature teams occurs to ensure that both teams are ready by the time deployment occurs.

Program management

Consensus for deployment plan obtained

All stakeholders in the Solution Accelerator for BDD project provide consensus for acting on the deployment plan and future project milestones.

Product Management

Selecting the Appropriate Deployment Scenario

As the first step in the Planning Phase, choose the appropriate deployment scenario. Table 6 lists the deployment scenarios and provides a brief description of each scenario.

Table 6. Deployment Scenarios and Description

ScenarioDescription

Refresh Computer

A computer currently running a supported Windows operating system is refreshed to Windows XP. This scenario includes Windows XP systems that need to be re-imaged for company image standardization or to address a problem. This scenario assumes that you are preserving the existing user data and profile on the computer.

New Computer

A new installation of Windows XP is deployed to a new computer This scenario assumes that there is no user data or profile to preserve.

Replace Computer

A new installation of Windows XP is deployed to a new computer based on the user data and profile on an existing computer. This scenario assumes that you are migrating the existing user data and profile to the new computer.

Based on your existing environment, you can select any combination of these scenarios in your deployment. For example, if your organization is only upgrading existing workstation, you need only the Refresh Computer scenario. If your organization is deploying new workstations for some the users and upgrading the remaining workstations, you need to use the New Computer and Refresh Computer scenarios.

Refresh Computer Scenario

In this scenario, you replace an existing Windows operating system on an existing workstation with a new Windows operating system image. You must preserve the user data and profile during the process. To perform this method of installation, ensure that sufficient available disk space exists, either locally or on a network drive, to back up the user data and profile. For more information about determining workstation requirements, see Verifying Adequate Workstation Configuration later in this guide.

Note   For performance reasons, back up the user data and profile locally whenever possible.

Figure 3 illustrates the steps in the Refresh Computer scenario.

Figure 3. Refresh Computer deployment process

Figure 3. Refresh Computer deployment process
See full-sized image

New Computer Scenario

In this scenario, you install a new copy of Windows XP on a new workstation. To perform this method of installation, complete one of the following procedures:

If the target workstation does not have an operating system, you can install Windows XP by starting Windows PE (from RIS or from a local CD).

If the target workstation has an operating system that SMS does not manage, you can install Windows XP by starting Windows PE (from RIS or from a local CD).

If the target workstation has an operating system that SMS manages, you can install Windows XP by using the same process described in the Refresh Computer scenario. However, you can skip the steps that relate to migrating the user data and profiles.

Figure 4 illustrates the steps in the New Computer installation scenario.

Figure 4. New Computer deployment process

Figure 4. New Computer deployment process
See full-sized image

Replace Computer Scenario

In this scenario, you install Windows XP on a new computer. However, you also need to migrate the user data and profile from an existing workstation. To perform this method of installation, ensure that sufficient available disk space exists on a network drive to back up the user data and profile. For more information about determining workstation requirements, see Verifying Adequate Workstation Configuration later in this guide.

Figure 5 illustrates the steps in the Replace Computer scenario.

Figure 5. Replace Computer deployment process

Figure 5. Replace Computer deployment process
See full-sized image

To perform a Replace Computer scenario, follow these steps:

1.

Capture the user state information.

2.

Deploy the new computer with user state information.

Capturing the User State Information

During this part of the Replace Computer scenario, an SMS package is sent to the workstation that captures the users state information on that computer.

Note   The operating system package and program cannot be used to capture user state information from the old computer. For more information about SMS OSD Feature Pack phases, see Configuring the ZTI Operating System Image later in this guide.

To capture the user state information, perform the following steps:

1.

Create the SMS package that captures user state migration information.

2.

Create the SMS program that captures user state migration information.

3.

Run the SMS package on the workstations.

Creating the SMS Package That Captures User State Migration Information

To create the SMS package that captures user state migration information, perform the following steps:

1.

Copy the files required for creating the SMS package, which are listed in Table 7, to \\servername\Packages\OldComputer (where servername is the computer name of the server hosting the shared folder).

The package sent to the workstation must include the files listed in Table 7. These files are required to capture the user state information. Table 7 also lists where these files reside (where servername is the name of the server hosting the shared folder). Copy these files into a folder that you will use to create the package.

Table 7. Files Required for Creating the SMS Package to Capture User State Information

FilesLocation

ZeroTouchInstallation.vbs

\\servername\ZTI

Customsettings.ini

\\servername\ZTI

All USMT files

\\servername\USMT\*.*

Updateuser.inf

\\servername\ZTI

Note   By default USMT is installed into the C:\USMT directory, so be sure to point your USMT share to the Bin folder to be able to access the source files. The ZTI shared folder is created by sharing the folder where you installed ZTI.

2.

In the SMS Administrator Console, navigate to the Packages node.

3.

Right-click the Packages node, click New, and then click Package.

4.

Complete the Package Property dialog box by using the information in Table 8, and then click OK.

Table 8. Information Required to Complete the Package Property Dialog Box

On This TabDo This

General

In the Name text box, type Zero Touch Installation – Old Computer.

Data Source

Select the This package contains source files check box.

In the Source directory area, click Set.

In the Source Set Directory dialog box, in the Source directory text box, type \\servername\Packages\OldComputer (where servername is the name of the server hosting the shared folder and OldComputer is the name of the folder containing the package source), and then click OK.

Note   The Packages shared folder contains the all of the source files used to create the OSD packages. You need to create a folder beneath Packages for each package that you need to deploy.

Creating the SMS Program That Captures User State Migration Information

To create the SMS program that captures user state migration information, perform the following steps:

1.

In the SMS Administrator Console, navigate to Package (where Package is the package you created in the previous procedure).

2.

Expand Package (where Package is the package you created in the previous procedure), right-click Programs, click New, and then click Program.

3.

Complete the Program Property dialog box by using the information in Table 9, and then click OK.

Table 9. Information Required to Complete the Program Property Dialog Box

On This TabDo This

General

In the Name text box, type OldComputer.

In the Command line text box, type Wscript.exe //b ZeroTouchInstallation.vbs /phase:OldComputer.

Environment

In the Program can run text box, select Whether or not a user is logged on.

Select the Allow users to interact with this program check box.

Running the SMS Package on the Workstations

After you have created the SMS package and program, you need to distribute them to and run them on the workstations. To distribute the SMS package, perform the following steps:

1.

Distribute the package to all distribution points.

2.

Create an SMS collection of workstations that need the package.

3.

Create an advertisement to the SMS collection to distribute the package to the workstations.

Note   For more information about how to complete these tasks, see SMS 2003 Administrator Help topics in the SMS Administrator Console.

Deploying the New Computer with User State Information

The remainder of the Replace Computer scenario is similar to the New Computer scenario except that the user state information collected is restored to the new computer.

Ensuring That the Required Infrastructure Exists

Before you can use Solution Accelerator for BDD to deploy Windows XP, you must ensure that the infrastructure that Solution Accelerator for BDD requires exists. For most production environments, the majority of the services required for your deployment already exists, but verify that all the following components are in place before you continue the deployment process.

Sufficient SMS 2003 Infrastructure

Solution Accelerator for BDD requires that your infrastructure includes SMS 2003, so ensure that all servers running SMS within your organization are running that version. In addition, Solution Accelerator for BDD has the following requirements specific to SMS 2003:

SMS 2003 with SP1. SMS 2003 with SP1 is required on all SMS site servers within your infrastructure before you begin deployment. For more information about upgrading your infrastructure to SMS 2003 with SP1, see SMS 2003 SP1 Product Overview in the Additional Resources section of this guide.

SMS 2003 OSD Feature Pack. You must install the SMS 2003 OSD Feature Pack on one or more site servers within your organization. The SMS 2003 OSD Feature Pack is an add-on to SMS 2003 that provides the ability to capture, distribute, and install images to workstations and servers. For more information about the SMS 2003 OSD Feature Pack, see Microsoft Systems Management Server 2003 Operating System Deployment Feature Pack Users Guide in the Additional Resources section of this guide.

Identifying the Storage Requirements for Distribution Points

When your server is running SMS 2003 with SP1 and you have installed the SMS 2003 OSD Feature Pack, you need to ensure you have sufficient available storage on your distribution points for the images that the SMS 2003 OSD Feature Pack creates. Determine the size of each image and the number of images required in your deployment.

Create a unique image for:

Each unique Hardware Abstraction Layer (HAL) required in the workstations targeted for deployment.

Each localized operating system language version required (such as Chinese simplified or Japanese).

For planning purposes, you can estimate the size of an image to be within the range of 500 MB to 4 GB, including applications. If you have five unique images, the total available disk storage on a distribution point is 20 GB (4 GB × 5). Ideally, each distribution point would have at least that much available disk storage.

Reducing Storage Requirements for Distribution Points

If you are not able to increase the available disk space on your distribution points, you need to reduce the storage requirements for those distribution points. You can reduce the available storage requires for the distribution points by using any combination of the following methods:

Reduce the number of images. If a limited number of workstations have a specific HAL, consider another method of installing Windows XP on them (such as the Lite Touch deployment).

Distribute the images to specific distribution points only. In some instances, the images may be specific to a geographic location. (This is especially true for language-specific images.) Distribute only those images for a specific geography to the distribution points in the corresponding geographic locations.

Deploy Multilingual User Interface (MUI) versions of Windows XP. When possible, deploy MUI versions of Windows XP to reduce the number of images required as a result of language differences. Avoid using the localized version of Windows XP.

Providing Sufficient Storage for User State Migration Data

Determine the amount of storage required for the user state migration data that the USMT saved during the deployment process. When you know the amount of storage required, designate local storage on the workstation or shared folders that can be use as a temporary store for user migration data.

Determining Storage Requirements for User State Migration Data

For planning purposes, you can estimate the user state migration storage requirements by:

Running Scanstate.exe in the USMT with the /p command switch to estimate the size of the user state migration data. The /p command switch allows you to estimate the disk space requirements without actually performing the migration. You must also specify /compress- when using the /p switch. For more information, refer to the Business Desktop Deployment User State Migration Feature Team Guide in the Additional Resources section of this guide.

Viewing the size of the contents of the \Documents and Settings\username folders. You can randomly sample targeted workstations to determine an average amount of storage required to back up the user state migration. Keep in mind that there could be several profiles (username folders) on each workstation, so you will need to include each profile you plan to migrate.

You also need to know how long the user state migration data must be stored. You need to store the user state migration data in the event that the upgrade fails and you must roll back the configuration. After you have verified a successful upgrade, you can delete the user state migration data.

Calculate the storage requirements for user state migration data by multiplying the size of the user migration state by the number of simultaneous workstations being upgraded (size of migration × number of simultaneous workstations).

Determining Where to Store User State Migration Data

After you have determined the storage requirements for the user state migration data, determine where to store the user migration data. Store user state migration data:

On the local workstation to reduce the time to deploy Windows XP and network utilization (recommended).

Note   You can use this option only in the Refresh Computer scenario.  

On a shared folder located on a local server to provide a consistent method of storing user state migration data or when local storage is not available.

If you elect to store user migration data on the local workstation, you need to designate a shared folder in which the ZTI process can store user state migration data. (By default, the process attempts to store user state data on the local hard disk for Refresh Computer scenarios.) In the event that there is insufficient disk space for the user state and new image, the ZTI process attempts to store the information in a shared folder. Providing the shared folder as an alternate storage location makes the deployment process more reliable. Place the shared folder such that there is a high-bandwidth connection between the shared folder and the workstations.

Providing Sufficient Storage for Deployment Logs

The deployment logs record the process for each workstation through the image-distribution process. Determine the amount of storage required for the deployment logs saved during the deployment process. When you know the amount of storage required, designate shared folders that can be used as temporary stores for deployment logs.

Determining Storage Requirements for Deployment Logs

For planning purposes, you can estimate the deployment log storage requirements for a single workstation by performing the following steps:

1.

Run the upgrade process in your test lab to determine the size of the deployment logs.

2.

Determine how long the deployment logs need to be persisted.

3.

Multiply the size of the deployment logs for one workstation times the number of workstations being upgraded simultaneously.

Determining Where to Store Deployment Logs

After you have determined the storage requirements for the deployment logs, determine where to store the deployment logs. Store deployment logs in a shared folder that is connected to the workstations by a high-bandwidth connection.

Using Remote Installation Services

You can use RIS to deploy Windows PE to prepare the workstation for deployment. Do so when SMS does not manage the workstation, when a workstation is not running the SMS Advanced Client, or when a workstation has no operating system. Using the SMS 2003 OSD Feature Pack, you can create a custom Windows PE image that allows you to install Windows XP from the nearest SMS distribution point.

You can use RIS to automate the deployment of Windows PE:

For workstations that have a high-speed, consistent connection to a RIS server.

In the New Computer and Replace Computer scenarios.

Note    You can install Windows PE to prepare the workstations by using RIS or by using a Windows PE CD locally on the workstations. These methods provide the same functionality. Use the CD method when RIS is unavailable, such as when workstations have low-bandwidth connections to the RIS servers.

Verifying Adequate Workstation Configuration

Before you can deploy an SMS 2003 OSD Feature Pack image to a workstation, you need to ensure that the workstation has the correct configuration. To deploy an image to a workstation, you must first:

Verify that the workstation has the correct versions of workstation software.

Verify that the workstation has adequate system resources.

Verifying Correct Workstation Software Versions

The ZTI deployment process requires that your target workstations meet the following minimum software requirements for Refresh Computer and Replace Computer scenarios:

Workstations are running Microsoft Windows 98 Second Edition, Windows NT® 4.0 Service Pack 6a (SP6a), or a newer Windows operating system.

Workstations running Microsoft Windows 2000 Professional or a newer operating system have the SMS Advanced Client installed.

Workstations running Windows NT 4.0 SP6a or Windows 98 Second Edition have the SMS Legacy Client installed.

Workstations must be running Windows Script Host (WSH) version 5.6 or later.

Workstations must be running Microsoft Data Access Components (MDAC) version 2.0 or later.

Verifying Adequate Workstation Resources

Prior to deploying Windows XP, ensure that the workstations targeted for deployment have adequate system resources. The following resources must be available on the workstations:

Minimal processor, memory, and available disk space required by Windows XP.

Additional available disk space when user migration state data and deployment logs are stored locally on the workstation.

Enough free disk space to hold Windows PE and SMS OSD Feature Pack log files (approximately 150 MB).

Enough total disk space to hold Windows PE, SMS OSD Feature Pack log files, and the image (expanded image size plus 150 MB).

Direct network connection to RIS servers, SMS site servers, and SMS distribution points. (Unsupported network connections include virtual private network (VPN) and wireless connections.)

Note   Workstations that attempt to run an SMS 2003 OSD Feature Pack package over a VPN or wireless connection will not be able to connect to a distribution point after rebooting into Windows PE, causing the deployment process to fail.

You can use SMS to help determine whether any existing workstations have inadequate system resources by using SMS queries and reports. You can upgrade these workstations prior to deploying Windows XP.

If you determine that some workstation system resources are inadequate for deploying Windows XP, you can perform one of the following actions:

Upgrade the system resources on the existing workstations.

Replace the existing workstations with new workstations.

Eliminate the existing workstations from being part of the upgrade.

Providing Adequate Network Capacity

Because of the size of the SMS 2003 OSD Feature Pack images being distributed to the workstations (500 MB–4 GB), your workstations need to have a high-speed, persistent connection to the servers used in the deployment process. These servers include:

SMS site servers

SMS distribution points

RIS servers

Servers hosting shared folders used to store user migration state data and deployment logs

These servers should be on adjacent subnets to the workstations to ensure high-speed connectivity to the workstations. If you are unable to provide sufficient network capacity to deploy to a workstation, perform one of the following actions:

Temporarily place the appropriate servers (for example, SMS distribution point, RIS server) closer to the workstation for the duration of the migration.

Temporarily move the workstations to a staging area where the workstations can be deployed and then returned to their original location.

Store user state migration data locally on the workstation.

Perform automated deployments locally by using a combination of a Windows PE CD or an SMS 2003 OSD Feature Pack image CD.

In addition, when you want to deploy to workstations through a firewall, you need to ensure that the appropriate TCP and UDP ports are opened on firewalls. For more information, see Ports that Systems Management Server 2003 uses to communicate through a firewall or through a proxy server in Additional Resources later in this guide.

Determining the Appropriate ZTI Processing Rules

The ZTI deployment process uses rules to configure your workstations. You need to determine the appropriate ZTI processing rules based on your environment. You configure the ZTI processing rules by modifying the Customsettings.ini file and by creating entries in the ZTI Admin DB. During the MSF Developing Phase, you will configure the ZTI processing rules. For more information about configuring the ZTI processing rules, see Configuring ZTI Processing Rules, later in this guide.

To determine the appropriate ZTI processing rules, perform the following steps:

1.

Identify how ZTI processing rules are used to configure workstations.

2.

Identify the required ZTI configuration settings.

3.

Prioritize the ZTI processing rules.

4.

Determine the group-based ZTI processing rules.

5.

Determine the workstation-based ZTI processing rules.

6.

Include any custom exit functions required to complete additional processing.

7.

Include any custom stored procedures required to complete additional processing.

Identifying How ZTI Processing Rules Are Used

The ZTI script (ZeroTouchInstallation.vbs) uses the ZTI processing rules to automate workstation configuration. Figure 6 illustrates how ZTI processing rules are used.

Figure 6. Overview of how ZTI processing rules are used

Figure 6. Overview of how ZTI processing rules are used
See full-sized image

The ZeroTouchInstallation.vbs script applies the configuration settings to the target client computer. The script is deployed within the SMS OSD Feature Pack image to the client computer though an SMS distribution point.

The client computer follows this process to receive configuration information from the ZTI process:

1.

The SMS 2003 site server distributes the SMS OSD Feature Pack image, including the ZeroTouchInstallation.vbs script and the Customsettings.ini file, to the SMS 2003 distribution point.

2.

The target client computer downloads the image and initiates the ZeroTouchInstallation.vbs script.

3.

The script examines the Customsettings.ini file included in the image and determines where to retrieve configurations settings.

4.

If configuration settings are stored in ZTI Admin DB, the script retrieves the settings from both the Customsettings.ini file and from the database. Otherwise, only Customsettings.ini is used.

5.

The target computer receives all the necessary configuration settings to complete an unattended installation

Rules known as group-based rules are applied to groupings of client computers. Other rules, known as client-based rules are applied to specific client computers. In most environments, you will need to specify group-based and client-based rules to provide all the necessary configuration parameters for ZTI.

The group-based rules are stored in the Customsettings.ini file, which is deployed with the ZTI script in the SMS OSD Feature Pack image to workstations. The client-based rules can be stored in a Microsoft SQL Server™ database or in the Customsettings.ini file.

Note   Throughout this section, you will see examples of how Woodgrove Bank determined the appropriate ZTI processing rules.

Identifying the Required ZTI Configuration Settings

You need to determine which configuration settings, or parameters, you need to provide to the ZeroTouchInstallation.vbs script. The Customsettings.ini file, as illustrated in the excerpt in Listing 1, defines the parameters you need in the following properties:

CustomKeysUserData

CustomKeysSysPrep

OSDVariableKeys

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

Priority= MACADDRESS, DefaultGateway, Default
CustomKeysUserData=UDShare,UDDir,UDProfiles,SLShare,
OSInstall,JoinDomain
CustomKeysSysprep=ComputerName,TimeZone,JoinDomain,
MachineObjectOU
OSDVariableKeys=OSDINSTALLSILENT,OSDINSTALLPACKAGE,
OSDINSTALLPROGRAM,OSDNEWMACHINENAME
    .
    .
    .

Listing 1. Example of configuration settings specified in the Customsettings.ini file

Ensure that you provide all the configuration settings in either group-based settings or workstation-based settings.

Note   For the workstation to be deployed properly, all the configuration settings specified on the CustomKeysUserData, CustomKeySysPrep, and OSDVariableKeys properties must be defined in the Customsettings.ini file or in the ZTI Admin DB.

Prioritizing the ZTI Processing Rules

You can customize the order in which ZTI processing rules are processed. The priority you assign to group-based settings or workstation-based settings determines the ZTI processing rule order. The Priority attribute in the Customsettings.ini file, as illustrated in Listing 2, determines the order in which ZTI processing rules are processed.

There are two possible approaches to prioritizing ZTI processing rules. These approaches are:

Allow group-based configuration settings to take priority, and allow client-based configurations to provide any additional settings.

Allow client-based configuration settings to take priority, and allow group-based configuration settings to provide any additional settings.

Prioritizing Client-Based Configuration Settings

Listing 2 illustrates an excerpt from a Customsettings.ini file in which the client-based configuration settings take precedence (that is, have the highest priority). In that example, MACADDRESS refers to later sections that correspond to a workstation Media Access Control (MAC) address. Any configuration settings found in the client-specific sections are used, and all subsequent instances in the priority list are ignored.

For example, if ComputerName were located in the client-specific section, ZeroTouchInstallation.vbs will use that value and ignore any subsequent entries for ComputerName in the DefaultGateway and Default sections.

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

Priority= MACADDRESS, DefaultGateway, Default
CustomKeysUserData=UDShare,UDDir,UDProfiles,SLShare,
OSInstall,JoinDomain
CustomKeysSysprep=ComputerName,TimeZone,JoinDomain,
MachineObjectOU
OSDVariableKeys=OSDINSTALLSILENT,OSDINSTALLPACKAGE,
OSDINSTALLPROGRAM,OSDNEWMACHINENAME
    .
    .
    .

Listing 2. Example in which client-based settings take precedence

Prioritizing Group-Based Configuration Settings

Listing 3 provides an excerpt from a Customsettings.ini file in which the group-based configuration settings take precedence (that is, have the highest priority). In this example, DefaultGateway refers to later sections that correspond to a group of workstations that have the same default gateway. Any configuration settings found in the group-specific sections are used, and all subsequent instances in the priority list are ignored.

For example, if UDShare was located in one of the DefaultGateways sections, ZeroTouchInstallation.vbs will use that value and ignore any subsequent entries for UDShare in the SQL and Default sections.

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

Priority= DefaultGateway, SQL, Default
CustomKeysUserData=UDShare,UDDir,UDProfiles,
SLShare,OSInstall,JoinDomain
CustomKeysSysprep=ComputerName,TimeZone,JoinDomain,
MachineObjectOU
OSDVariableKeys=OSDINSTALLSILENT,OSDINSTALLPACKAGE,
OSDINSTALLPROGRAM,OSDNEWMACHINENAME
    .
    .
    .

Listing 3. Example in which group-based settings take precedence

Prioritizing Default Configuration Settings

The default section is useful to specify default values for any variable not assigned a value by any preceding sections. The inclusion of a [Default] section is a best practice to ensure all required variables are set for a target computer. The configuration settings referenced by the Default keyword apply to all client computers.

You can use the default configuration settings to supply one of the following:

Global configuration settings that apply to all workstations.

When configurations settings are not supplied by group-based or workstation-based configuration settings, the Default configuration settings are applied to define the remaining settings.

Supplying Global Configuration Settings

There are instances in which you want to apply configuration settings to all workstations. To do so, place the Default section at the beginning of the Priority attribute list, as Listing 4 shows.

Priority= Default, DefaultGateway, SQL 
    .
    .
    .

Listing 4. Example of how to use Default to apply global configuration settings

By placing the Default keyword at the beginning of the Priority attribute list, the configuration settings in the [Default] section override the same configuration settings in the [DefaultGateway] sections and configuration settings stored in ZTI Admin DB (as designated by the SQL keyword in Listing 4).

Supplying Default Configuration Settings

Another way you can use the Default settings is when you want to supply default configuration settings. You would do so when a workstation is unable to find all the configuration settings in the existing group-based and workstation-based configuration settings. To use the settings in this way, place the Default keyword at the end of the Priority attribute list, as Listing 5 shows.

Priority= DefaultGateway, SQL, Default
    .
    .
    .

Listing 5. Example of how to use Default to apply default configuration settings

By placing the Default keyword at the end of the Priority attribute list, the configuration settings in the [Default] section are used only if the configuration settings were not found in the [DefaultGateway] sections or in the configuration settings stored in ZTI Admin DB (as designated by the SQL keyword in Listing 5).

Determining the Group-Based ZTI Processing Rules

Whenever possible, use group-based rules for the majority of your workstation configuration settings. Group-based rules allow you to apply the same configuration settings to a group of workstations. After you apply group-based rules, you can apply workstation-specific configuration settings through workstation-based rules.

Determine the appropriate group-based ZTI processing rules to include by:

Identifying the appropriate workstation groupings.

Identifying the group-based configuration settings.

Identifying the Appropriate Workstation Groupings

You can group your workstations based on different criteria. Table 10 lists the predefined workstation groupings. In addition to these groupings, you can create custom workstation groupings.

Table 10. Methods for Grouping Workstations, How Computers Are Grouped, and What the Grouping Determines

MethodGroups ComputersDetermines the

[DefaultGateway]

Geographically

Resources (distribution points, file shares, etc.) that are on adjacent subnets to the workstation.

[Make], [Model], [AssetTag], [SerialNumber], [UUID]

According to hardware configuration

Specific hardware attributes (such as HAL types) to select the appropriate images for deployment.

Existing operating system

According to existing software

Appropriate images to deploy and potential configuration settings to migrate.

[Default]

In absence of other groupings

Configuration settings in the event the workstation falls outside all other groupings.

Configuration settings to be applied to the entire organization.

In most instances, the workstation groupings can be nested. For example, the [DefaultGateway] key can be used to designate the Internet Protocol (IP) subnets on which a computer resides within a geographic location. You can define location by using the settings beneath [DefaultGateway] as shown in Listing 6.

Note   When grouping computers by hardware configuration, you can use a variety of different methods and the script will search for the substituted value. For instance if you specify Priority=Make, the script would substitute the Make value it determines through a Windows Management Instrumentation (WMI) call and look for the corresponding section, for instance [Dell Computer Corporation].

Example: Workstation Groupings Selected by Woodgrove

Listing 6 shows an example of how [DefaultGateway] can be used to designate the configuration settings for a specific location. Three subnets (172.16.0.3, 172.16.1.3, and 172.16.2.3) reside within the NYC location. A separate section, [NYC], includes the configuration settings that are specific to the NYC location. Similar sections exist for the DALLAS and WASHINGTON locations. This is a special case allowing multiple default gateways to point to the same section. In many environments, you might expect a one-to-one mapping between default gateway and a corresponding section.

[DefaultGateway]
172.16.0.3=NYC
172.16.1.3=NYC
172.16.2.3=NYC
172.16.111.3=DALLAS
172.16.112.3=DALLAS
172.16.116.3=WASHINGTON
172.16.117.3=WASHINGTON
 
[NYC]
UDShare=\\NYC-AM-FIL-01\MigData
SLShare=\\NYC-AM-FIL-01\Logs
Packages1=NYC00010-Install
Packages2=NYC00011-Install
Administrator1=WOODGROVEBANK\NYC Help Desk Staff
 
[DALLAS]
UDShare=\\DAL-AM-FIL-01\MigData
SLShare=\\DAL-AM-FIL-01\Logs
Administrator1=WOODGROVEBANK\DAL Help Desk Staff

Listing 6. How [DefaultGateway] can be used to designate location-specific configuration settings

Note   The complete source to the Customsettings.ini file used in these examples can be found in Settings in Customsettings.ini Only in Appendix A: Sample Customsettings.ini Files of this guide.

Identifying the Group-Based Configuration Settings

After you have identified the ways you want to group configuration settings, you need to determine which settings you will apply to each group. Table 11 lists the common group-based configuration settings and the purpose of those settings. A configuration setting may appear under one or more groups. However, the first configuration setting instance is the one used to configure the workstation. Subsequent instances are ignored.

Table 11. Common Group-Based Configuration Settings and Their Description

SettingDescription

UDShare

Universal Naming Convention (UNC) path to the shared folder in which the USMT will save user migration data.

SLShare

UNC path to the shared folder in which the ZTI scripts will store log files.

Packagesx

Packages to be deployed to workstations in that group, for example Packages1 or Packages2.

In addition to the dynamic list of packages that you can install through Packagesx, you can install a static list of packages by using the Run SWD Program action in the State Restore Phase. These methods of installing packages differ as follows:

Using the Packagesx setting in Customsettings.ini allows you to dynamically control the packages deployed to workstations, so that you can determine which combination of applications is installed on a workstation.

When you use the Run SWD Program, every user who installs a package installs the same list of applications within that package. As a result, you need to create a new program for each different combination of applications you want to deploy.

When you use either method of installing the packages, you must ensure that the SMS package programs:

Are enabled.

Require no user intervention.

Can run unattended from a UNC path.

Have source files.

Note   An additional requirement for dynamically installed packages is that they cannot initiate a reboot. For more information about the configuration settings available in Customsettings.ini, see Appendix B: Customsettings.ini Reference, later in this guide.

Example: Group-Based Configuration Settings Selected by Woodgrove

Listing 6 shows an example in which Woodgrove Bank selected group-based configuration settings:

In the NYC and DALLAS locations, UDShare, SLShare, and Administrator1 are specified for each location.

The servers referenced by UDShare and SLSShare (NYC-AM-FIL-01 and DAL-AM-FIL-01) are located within each respective location.

The administrator accounts referenced by Administrator1 (WOODGROVEBANK\NYC Help Desk Staff and WOODGROVEBANK\DAL Help Desk Staff) are unique to each respective location.

In NYC, location-specific packages are designated by Packages1 and Packages2.

In DALLAS, SQLDefault specifies the default SQL Server computer for that location (DB_DAL).

Determining Workstation-Based ZTI Processing Rules

After you have determined the group-based processing rules and configuration settings, you need to determine the workstation-based ZTI processing rules. The workstation-based rules allow you to override or augment group-based processing rules based on the priority of the workstation-based rules. For more information about determining the priority of ZTI processing rules, see Prioritizing the ZTI Processing Rules later in this guide.

Whenever possible, use group-based rules for the majority of your workstation configuration settings. Group-based rules allow you to apply the same configuration settings to a group of workstations. After you apply group-based rules, you can apply workstation-specific configuration settings through workstation-based rules.

Determine the appropriate group-based ZTI processing rules to include by:

Identifying the workstations that require workstation-based rules.

Identifying the workstation-based configuration settings.

Determining where to store workstation-based configuration settings.

Identifying Workstations That Require Workstation-Based Rules

Most workstations within your organization will require workstation-based rules because they require unique configuration information, such as computer name or IP address. However, in other instances, your workstations may be configured with automatically generated computer names (such as NYC-XP-xxxx, where xxxx is automatically generated for each computer by setup) or may use DHCP to assign IP addresses.

For workstations that:

Can be configured without workstation-specific settings, use group-based rules only.

Must be configured with workstation-specific settings, use a combination of group-based and workstation-based rules.

You need to specify a method of uniquely identifying the workstation and the configuration settings that you want to apply to the workstation. Table 12 lists some of the methods for identifying individual workstations and why you would use those methods. In addition, you can define a custom method for identifying workstations. For a complete list of methods for identifying workstations, see Appendix B: Customsettings.ini Reference, later in this guide.

Table 12. Methods for Identifying Individual Workstations and What the Grouping Determines

MethodUse This Method When You Want To Identify Workstations by the

[MacAddress]

MAC address of the primary network interface in the workstation. The format for MACAddress is xx:xx:xx:xx:xx:xx, where xx is any hexadecimal number (for example 00:03:FF:BB:FE:C1).

[AssetTag]

Asset tag number associated with the workstation. The format for asset tag numbers is undefined.

[SerialNumber]

Serial number of the workstation. The format for serial numbers is undefined.

[Make]

Manufacturer of the workstation.

[Model]

Model number of the workstation.

[Product]

Field provided by the workstation manufacturer and returned by SMBIOS.

[UUID]

Universal Unique Identifier (or GUID) of the workstation.

Example: Workstation Identification Method Selected by Woodgrove

Listing 7 shows an example of how Woodgrove Bank identified workstation-based configuration settings. In this instance, Woodgrove used the MAC address of the workstation to identify the corresponding configuration settings for the workstation (for example 00:03:FF:CB:4E:C2 and 00:0F:20:35:DE:AC). The configuration settings for each workstation are listed immediately after the section that corresponds to the workstation’s MAC address.

[00:03:FF:CB:4E:C2]
OSDNEWMACHINENAME=WasW2K
 
[00:0F:20:35:DE:AC]
OSDNEWMACHINENAME=HPD530-1
OSDINSTALLPACKAGE=DAL00342
OSDINSTALLPROGRAM=CustomXP
 
[00:03:FF:FE:FF:FF]
OSDNEWMACHINENAME=BVMXP
OSDINSTALLPACKAGE=NYC00002
OSDINSTALLPROGRAM=SpecialXP

Listing 7. How Woodgrove identified workstations

Identifying the Workstation-Based Configuration Settings

After you have identified the methods you want use for identifying workstations, you need to determine which settings you will apply to the workstation. Table 13 lists the common workstation-based configuration settings and the purpose of those settings.

Table 13. Common Workstation-Based Configuration Settings and Their Descriptions

SettingDescription

OSDNEWMACHINENAME

Name to assign to the computer when the new operating system is installed. This variable is used in the new computer and replace computer installation scenarios when running the OS Image Installation CD or from RIS. In a refresh computer scenario, ZTI can rename the machine by including the “ComputerName=%OSDNEWMACHINENAME% line in the default section.

Note  In a new computer scenario, make certain that  ComptuerName and OSDNEWMACHINENAME are both the same (if both are populated). Otherwise, log file names and computer names in events will use OSDNEWMACHINENAME while the computer will be named ComputerName.

OSDINSTALLPACKAGE

Unique ID of the OS Deployment package that the OS Image Installation CD or RIS should install. This is set by the custom program or script specified in the Operating System Image Installation CD Wizard.

OSDINSTALLPROGRAM

Name of the OS Deployment Program that the OS Image Installation CD or RIS should install. This is set by the custom program or script specified in the Operating System Image Installation CD Wizard.

Note   For more information on Operating System Image Installation CD Wizard, see the Creating the ZTI OS Image Installation CD section later in this document. For more information about the configuration settings available in Customsettings.ini, see Appendix B: Customsettings.ini Reference, later in this guide.

A workstation-based configuration setting typically appears under only one workstation because the configuration setting is unique to that workstation. In instances in which a configuration setting is being applied to several workstations, use group-based processing rules, instead.

Remember that if a group-based setting has a higher priority and the configuration setting was found in that group, the workstation-specific settings are ignored. For more information about ZTI processing rule priority, see Prioritizing ZTI Processing Rules later in this guide.

Example: Group-Based Configuration Settings Selected by Woodgrove

Listing 7 above shows the workstation-based configuration settings that Woodgrove Bank selected. Table 14 lists the workstation-specific configuration settings applied to each workstation.

Table 14. Woodgrove Workstations and the Corresponding Configuration Settings

SettingDescription

[00:03:FF:CB:4E:C2]

OSDNEWMACHINENAME is the computer name of the workstation after deployment (WasW2K).

[00:0F:20:35:DE:AC]

OSDNEWMACHINENAME is the computer name of the workstation after deployment (HPD530-1).

OSDINSTALLPACKAGE is the name of the workstation-specific package to be deployed to the workstation (DAL00342).

OSDINSTALLPROGRAM is the name of the workstation-specific SMS OSD program to run on the workstation (CustomXP).

[00:03:FF:FE:FF:FF]

OSDNEWMACHINENAME is the computer name of the workstation after deployment (BVMXP).

OSDINSTALLPACKAGE is the name of the workstation-specific package to be deployed to the workstation (NYC00002).

OSDINSTALLPROGRAM is the name of the workstation-specific SMS OSD program to run on the workstation (SpecialXP).

Determining Where to Store Workstation-Based Configuration Settings

You can store the workstation-based configuration settings in a SQL Server database that is administered by using the ZTI AdminDB database or in the Customsettings.ini file. Table 15 lists each method and the advantages and disadvantages of each method.

Table 15. Advantages and Disadvantages of Methods for Storing Workstation Configuration Settings

MethodAdvantagesDisadvantages

ZTI AdminDB database

Provides centralized management of workstation-based configuration settings

Requires connectivity to the SQL Server machine managing the ZTI AdminDB database

Customsettings.ini

Can be used for workstations that are unable to connect to the ZTI AdminDB database

Because the Customsettings.ini file is stored in the SMS OSD Feature Pack image, any update requires updates to the SMS OSD Feature Pack image.

Store workstation-based configuration settings in the:

ZTI AdminDB database by using the SQL keyword in the Priority attribute in the Customsettings.ini.

Customsettings.ini file by creating a workstation-specific section for each corresponding workstation with unique configuration settings.

Example: Configuration Setting Storage Selected by Woodgrove

Listing 8 illustrates excerpts from a Woodgrove Bank Customsettings.ini file in which the workstation configuration settings are stored. In this example, the workstation-based configuration settings take priority over any group-based configuration settings because MACADDRESS is the first entry in the Priority attribute.

For each workstation that requires unique configuration settings, a corresponding section exists (designated by the MAC address of the workstation’s primary network adapter). In the excerpt in Listing 8 three distinct workstations are being configured (MAC address 00:03:FF:CB:4E:C2, 00:0F:20:35:DE:AC, and 00:03:FF:FE:FF:FF).

Priority= MACADDRESS, DefaultGateway, Default
    .
    .
    .
 
[00:03:FF:CB:4E:C2]
OSDNEWMACHINENAME=WasW2K
 
[00:0F:20:35:DE:AC]
OSDNEWMACHINENAME=HPD530-1
OSDINSTALLPACKAGE=DAL00342
OSDINSTALLPROGRAM=CustomXP
 
[00:03:FF:FE:FF:FF]
OSDNEWMACHINENAME=BVMXP
OSDINSTALLPACKAGE=NYC00002
OSDINSTALLPROGRAM=SpecialXP

Listing 8. Workstation configuration settings in Customsettings.ini

Listing 9 illustrates excerpts from a Woodgrove Bank Customsettings.ini file in which the workstation-configuration settings are stored in the ZTI AdminDB database. In this example, the workstation-based configuration settings are applied after group-based configuration settings because SQL is the second entry in the Priority attribute (immediately behind DefaultGateway).

Priority= DefaultGateway, SQL, Default
    .
    .
    .
 
[DefaultGateway]
172.16.0.3=NYC
172.16.111.3=DALLAS
172.16.116.3=WASHINGTON
 
    .
    .
    .
 
[NYC]
SQLDefault=DB_NYC
 
[DALLAS]
SQLDefault=DB_DAL
 
[WASHINGTON]
SQLDefaul=DB_WSG
 
[DB_NYC]
SQLServer=NYC-AM-SMS-01
Database=BDDAdminDB
Table=BDDAdminCore
Parameters=MacAddress
 
[DB_DAL]
SQLServer=DAL-AM-FIL-01
Database=BDDAdminDB
Table=BDDAdminCore
Parameters=MacAddress
 
[DB_WSG]
SQLServer=WSG-AM-DC-01
Database=BDDAdminDB
Table=BDDAdminCore
Parameters=MacAddress

Listing 9. Workstation configuration settings in the ZTI AdminDB database

The example in Listing 9 shows that each location has unique SQL configuration settings to connect to the ZTI AdminDB database. For example, at the NYC location, the configuration settings point to the local SQL Server machine on which the ZTIAdminDB database is stored (NYC-AM-SMS-01). The database name (BDDAdminDB), the table in the database (BDDAdminCore), and the query parameter used to locate the workstation (MacAddress) is also listed.

Note   If you want to locate workstations by asset tags, change the MacAddress value to AssetTag or any other method of uniquely identifying the workstation.

Including Custom Exit Functions

You can call scripts, or other executable code, from within ZeroTouchInstallation.vbs, called custom exit functions. You define the custom exit functions within Customsettings.ini. Listing 10 shows an example of a Customsettings.ini that calls a custom exit function defined in the [Settings] section.

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

[Settings]
Priority= DefaultGateway, MACADDRESS, SQL, Default
CustomKeysUserData=UDShare,UDDir,UDProfiles,SLShare,
OSInstall,JoinDomain
CustomKeysSysprep=ComputerName,TimeZone,JoinDomain,
MachineObjectOU
OSDVariableKeys=OSDINSTALLSILENT,OSDINSTALLPACKAGE,
OSDINSTALLPROGRAM,OSDNEWMACHINENAME
ScanStateArgs=/i:miguser.inf /i:migapp.inf /i:migsys.inf 
/i:sysfiles.inf /i:updateuser.inf /v:7 /x /s /f /o /c
LoadStateArgs=/v:7 /c
UserExit=ZTIUserExit.vbs

Listing 10. Defining custom exit functions in the [Settings] section

Note   You need to include any user exit scripts in the OldComputer package source directory so that they can be accessed when it is time for the user exit script to be run.

Another common user exit function is to determine the type of computer by using one of the computer chassis type variables provided by ZeroTouchInstallation.vbs listed in Table 16. The chassis type is determined through WMI by using the Win32_SystemEnclosure WMI class.

Table 16. Computer Chassis Type Variables and Their Description

VariableDescription

IsLaptop

Indicates the computer is a laptop, because the Win32_SystemEnclosure ChassisType property value is “8”, “10”, “12”, “14”, “18”, or “21”.

IsDesktop

Indicates the computer is a desktop, because the Win32_SystemEnclosure ChassisType property value is “3”, “4”, “5”, “6”, “7”, or “15”.

IsServer

Indicates the computer is a server, because the Win32_SystemEnclosure ChassisType property value is “23”.

Note   In previous versions of ZTI, the IsServer flag indicated that the existing operating system is a server operating system (such as Windows Server™ 2003, Enterprise Edition). This flag has been renamed to IsServerOS.

You can use these computer chassis type variables in any user exit function (or other application that you create) by using the dicLocalData() function. Listing 11 illustrates the use of these variables in a user exit function to install additional laptop utilities.

If dicLocalData(“IsLaptop”) Then
   AddtionalSMSPackages=” NYC00010-InstallLaptopUtilites
End If

Listing 11. User exit function selecting an additional SMS package based on the IsLaptop variable

Example: Custom Exit Function Selected by Woodgrove

The custom exit function in this example, ZTIUserExit.vbs, allows you to easily extend the functionality of ZeroTouchInstallation.vbs. When ZeroTouchInstallation.vbs calls the exit script, it also passes key environment information so that you can tell where in the deployment process you are and execute specific functionality appropriate to that step. Each time ZeroTouchInstallation.vbs is run, you have two opportunities to call the exit script, the first <BEFORE> is just after environment variables are processed and the other <AFTER> is at the end of the script. In the <BEFORE> case you have the option of returning to the script and continue normal processing or returning to the script and skip to the end bypassing normal processing.  

Listing 10 shows an example of how Woodgrove Bank included a custom exit function in its Customsettings.ini file. The UserExit value points to a VBScript called ZTIUserExit.vbs. ZTIUserExit.vbs is used to call DiskPart. You can see the complete source code to Woodgrove’s ZTIUserExit.vbs in Appendix F: Sample User Exit Function, later in this guide.

For more information about DiskPart.exe, see DiskPart in Additional Resources later in this guide.

In the example, ZTIUserExit.vbs feeds parameters to DiskPart.exe by reading the parameters from a file called ZTIDiskPart.txt. Woodgrove required this custom exit function because OSD only formats the primary drive and then exits. If any other volumes require creation or formatting, ZTIUserExit.vbs partitions and formats those drives.

Note   A sample ZTIDiskpart.txt and the ZTIUserExit.vbs listed in Appendix F: Sample User Exit Function are included as a part of the Solution Accelerator for BDD downloads

Including Custom-Stored Procedures

In your deployment, you may want to provide call stored procedures to provide additional functionality during the workstation deployment. For example, you might want to provide a method of automatically generating a computer name, gathering other information, and then storing that information in the AdminDB database. Then other sections in Customsettings.ini can reference the information by accessing the workstation-specific settings you stored in the AdminDB database.

To call a stored procedure from within ZeroTouchInstallation.vbs, you need to configure Customsettings.ini as follows:

1.

Add a value to the Priority setting, IdentifyComputer, which references a section that defines the stored procedure as illustrated in Listing 12.

2.

Create a section,[IdentifyComputer], that defines a subsection, [DB_IdentifyComputer], which contains all the configuration settings for the SQL connection to the stored procedure as illustrated in Listing 12.

3.

Complete the section, [DB_IdentifyComputer], which contains all the necessary information to call the stored procedure as illustrated in Listing 12.

Notice that the stored procedure in Listing 12, IdentifyComputer, is called with the following parameters:

MacAddress

Make

Model

[Settings]
Priority= DefaultGateway, IdentifyComputer, SQL, Default
    .
    .
    .
 [IdentifyComputer]
 SQLDefault=DB_IdentifyComputer
  
 [DB_IdentifyComputer]
 SQLServer=SERVER1
 Database=BDDAdminDB
 StoredProcedure=IdentifyComputer
 Parameters=MacAddress, Make, Model

Listing 12. Defining custom stored procedure function in the [Settings] section

Example: Custom-Stored Procedure Selected by Woodgrove

Listing 12 shows an example of how Woodgrove Bank included a custom-stored procedure in its Customsettings.ini file. The StoredProcedure value points to a stored procedure called IdentifyComputer in the BDDAdminDB database. MacAddress, Make and Model as passed as parameters to the stored procedure .

You can see the complete source code to Woodgrove’s Customsettings.ini, IdentifyComputer stored procedure, and a setup script in Appendix J: Sample Stored Procedure Calls later in this guide.

Training Team Members

Before you begin the deployment, you need to ensure all your team members are properly trained to deploy, manage, operate, troubleshoot, and support the deployment process and deployed workstations. The training should be customized for each team.

Train your team members by completing the following steps:

Identify the training requirements for your organization. Each team will have different training requirements. At a minimum, all team members need to be able to describe the high-level steps in the ZTI deployment process. Other team members will require detailed knowledge of the technologies and processes involved in ZTI.

Determine budgeting requirements for training. Include training as a part of your budgetary estimates. In addition to the cost of training, include any estimated travel expense and human resource costs.

Include training in the project plan. Ensure that you allocate resources to allow training attendance in your project plan. While team members are attending training, they will be unavailable for other tasks in the project.

Schedule team members’ training prior to their involvement in the project. The training should occur before the team members engage in the project. Ensure that you provide the training early enough in the process to allow team members adequate time to become familiar with the technologies and processes.

Note   For more information about the training courses and options available, see Appendix G: Training Resources, later in this guide.

Obtaining Consensus for Deployment Plans

As the final task in the Planning Phase, you need to obtain consensus for the deployment plans. As the program manager, you are responsible for obtaining consensus. The details for obtaining consensus may be unique in your organization. However, the following high-level tasks are common in most organizations:

Hold a meeting with project stakeholders. Ensure that you include all project stakeholders in the consensus process. Doing so ensures that your deployment plan addresses all the requirements of the team.

Present the current deployment plan. Make the project stakeholders aware that lab testing and pilot deployments occur later in the process, so the current deployment plan is likely to change. The goal of this milestone is to ensure that the entire team agrees with the current plan. Subsequent meetings should be held each time the deployment plan is changed.

Modify deployment plans until all project stakeholders’ requirements are satisfied. During the meeting, incorporate any changes to the deployment plan that mitigate blocking issues. Upon completion of the meeting, all stakeholders should agree with the deployment plan approach.

Obtain formal approval for continuing with deployment plans. Make this a formal process to ensure that project stakeholders realize that their consensus is their approval to continue. Obtaining formal approval helps ensure that stakeholders carefully review the deployment plan for any potential blocking issues.   

Note   For more information about obtaining consensus for the deployment plan and the responsibilities of the program manager, see the Computer Imaging System Feature Team Guide, Enterprise Edition in the Additional Resources section of this guide.


**
In This Article
**