Executive Summary:
Follow this step-by-step explanation of a Zero Touch Installation (ZTI) using Business Desktop Deployment 2007 (BDD) and Systems Management Server 2003 (SMS) to distribute Windows Vista to your enterprise |
This is the final article in a three-part series exploring
the Microsoft Solution Accelerator for Business
Desktop Deployment 2007 (BDD) tool. I began
the series in October with the Required Reading article
“Planning Your Vista Deployment with BDD” (Instant-
Doc ID 96906), in which I showed you how to install and
run the BDD tools to help you with your Windows Vista
deployments. In the second article, “Using Deployment
Workbench” (November 2007, InstantDoc ID 97170), I
covered using the BDD Deployment Workbench wizards
for a Lite Touch Installation (LTI). In this article, I’ll step
you through the basics of a Zero Touch Installation (ZTI),
which uses Systems Management Server 2003 (SMS) to
distribute a Vista OS. ZTI is a BDD deployment option for
larger organizations.
About Zero Touch Installation
Before you begin the installation process, you need to know
that there are two types of ZTI. The first type requires no
administrator intervention. It supports either an upgrade
or refresh scenario in which a target machine’s OS is wiped
clean and replaced with Vista, with user data intact. Target
machines have the advanced SMS client agents installed.
You use the SMS client agents to download and install SMS
packages for deployment. The second type I call an almost
ZTI. This installation is used for bare-metal machines with
absolutely nothing installed, so you’ll need to find a way to
boot the target machines. The bare-metal ZTI is similar to
a Lite Touch Install except that it uses SMS to distribute the
new OS. In this article I cover both types of ZTI.
Before You Begin
Before you get started, download and install BDD 2007 as
“Planning Your Vista Deployment with BDD” describes. See
the Learning Path for information on the additional installations
in this paragraph. Be sure to install the Windows
Automated Installation Kit (WAIK), and, if you’re going
to save the user’s state in order to migrate, install the User
State Migration Tool (USMT 3.0). As I mentioned, SMS is
an essential component of the ZTI; you’ll need to install
SMS 2003 SP2 or later with the SMS Operating System
Deployment Feature Pack. SMS requires SQL Server (either
Microsoft SQL Server 2005 SP2, Microsoft SQL Server 2000
SP3a or later, or Microsoft SQL Server 7.0 SP3 or later), so
you must have a server running that as well. You’ll also need
the Windows Preinstallation Environment 2004 (WinPE).
(WinPE 2.0 isn’t supported by and won’t work with this version of BDD.) Because WinPE 2004 requires source files
from Windows XP Professional Edition SP2 (XP Pro), you’ll
need to have that as well.
You might also need a Windows Deployment Service
(WDS) server if you have clients that don’t have the SMS
advanced client agents and you want to take advantage of
the network boot option (F12). The network boot option lets
you PXE boot from the WDS server.
The amount of hard disk space necessary for deploying
a ZTI can be quite significant, so be sure there’s enough
before you get started. While BDD, SMS, and SQL Server can
all be installed on a single server, you can also install each
component on a separate server to distribute the workload.
You’ll need sufficient storage on the BDD deployment
server for the custom images (Windows Imaging Format-
WIM-files) that you create before your ZTI. The SMS server
must have enough space to store the various components
(the packages, programs, advertisements, and distribution
points that I discuss later). And if you implement the logging
feature for troubleshooting, you’ll need to ensure that
the target machines have enough hard disk space for the
logs. Using the refresh scenario requires enough space on a
server to store complete backups of the target machines.
Adding OSs and
Accompanying Files
We’ll begin our ZTI by launching the New OS Wizard and
adding three components as operating systems to the
BDD-your custom .wim files, WinPE 2004, and XP Pro SP2
source files. If you haven’t already done so, download and
install BDD 2007 as “Planning Your Vista Deployment with
BDD” describes. Next, log on as an administrator, and open
Deployment Workbench from Start, All Programs, BDD
2007, Deployment Workbench.
Expand the Distribution Share node in the Deployment
Workbench console tree, right-click Operating Systems, and
click New. The New OS Wizard appears. (For more details on
the New OS Wizard, see “Using Deployment Workbench.”)
From the wizard’s Choose the type of operating system to add
page, select Custom image file and click Next. The Custom
image file option requires you to enter the path of the .wim
file you want to use. So, on the Select operating system image
file page, locate the custom .wim you’ve previously created
and stored on a UNC path (\\Servername\Sharename)
or WDS server, select it, and click Next. Specify that
Setup and Sysprep files are not needed, then click Next.
You can either type the name of the destination directory
for your OS or accept the default destination directory name, then click Copy to add your
custom .wim files.
Now you’re ready to add either WinPE 2004
or WinPE 2005. Start the New OS Wizard again.
From the wizard’s Choose the type of operating
system to add page, select Full set of source files
and click Next. On the next page, browse to
the location where you stored WinPE 2004 or
WinPE 2005 and choose Move the files to the
distribution share instead of copying them.
Launch the New OS Wizard a third time
to add XP Pro SP2. On the Choose the type of
operating system to add page, select Full set
of source files and click Next. On the following
page, browse to the folder containing XP Pro
SP2 source files and choose Move the files to
the distribution share instead of copying them.
Creating a Build
After you’ve added your OSs, you’re ready to
create a build. Expand the Distribution Share
node, right-click Builds, and choose New. This
launches the New Build Wizard. On the Specify
general information about this build page, type
in a Build ID such as “VistaZTI” (remember
that no spaces are allowed), a descriptive build
name such as “Vista Zero Touch Installs,” any
comments documenting your build, then click
Next. On the next page, choose the custom
.wim file you added to the OSs earlier and click
Next. Choose Do not specify a product key at
this time, and click Next. On the Specify settings
about this build page, fill in a Full name, an
Organization name, and the Internet Explorer
(IE) home page you’ll use for all installations
performed from this build, then click Next.
Finally, on the Specify the local Administrator
password for this build page choose Do not
specify an Administrator password at this time,
and click Create.
Creating a Deployment
Point
Next, you’ll use the New Deployment Point
Wizard to create the deployment point, the
location to which target machines connect to
install a build. To launch the wizard, expand
the Deploy node, right-click Deployment
Points, and click New.
For the type of build, choose SMS 2003
OSD and click Next. (For a discussion of the
other types of builds, see “Using Deployment
Workbench.”) Type in a descriptive name,
such as “Vista ZTI,” and click Next. On the
Specify the location of the network share to hold
the files and folders necessary for this deployment
type page, supply the Server name,
Share name, and Path for the share (I used
Server1\OSD with a path of C:\ZTI), and click
Next. Choose Do not save data and settings on
the Specify user data defaults page, and click
Create. The last page of the wizard prompts
for the location of the SMS 2003 OSD path, so
browse to where you put the SMS 2003 OSD,
select it, and click Create (yes, you do click
Create twice).
Continued on Page 2
Expect a message that tells you the OSD
Deployment point has been successfully created
but before it can be used or updated you
must first configure the WindowsPE options.
Right-click your new OSD deployment
point and click Properties. Verify that the correct
build is selected on the Builds tab, that the
Windows PE source is set to Windows PE 2005
on the Windows PE 2004/2005 tab, and that
the Windows source is set to Windows XP Professional
SP2. Then, right-click the new OSD
deployment point and click Update. A new
folder named ZTI will be created in the root
of your C: drive that contains two additional
folders: Boot and VistaOSD. The Boot folder
contains your WinPE 2005, and the VistaOSD
folder contains all other files needed for the
build.
Configuring the SMS
Components
In SMS you’ll create a package, a program, and
an advertisement. In addition, you’ll define
distribution points and user accounts with
sufficient permissions to all components. The package contains the OS source files the target
machine will download and install. The
program defines how the package runs (i.e.,
minimized, maximized, hidden, or normal),
whether to restart the machine after install,
and whether to run when a user is logged on
or not. The advertisement determines which
machines will receive the package. The distribution
point determines the servers to which
you’ll distribute the package. Your target
machines will connect to the distribution point
to download and install the package.
Creating the SMS Package
Open the SMS Administrator console, expand
the Site Database node, and right-click Image
Packages. Choose All Tasks, then choose
Update Windows PE to launch the Update
Windows PE Wizard. On the Windows PE Settings
page, for source folder, type in the path
that was created earlier (e.g., C:\ZTI\Boot Source). Click Next, Finish.
Now you’ll need to create a package that
contains your custom .wim image file for
SMS. Right-click Image Packages again, choose
New, Operating System Image Package. This
launches the New Operating System Package
Wizard. On the Operating System Package
settings page, type in a package name (choose
something descriptive, such as Vista Ultimate)
as shown in Figure 1, page 68. Then open your
custom image file (the .wim image you created
earlier), and browse and choose the UNC
path (I chose \\Server1\SMSPackages) where
your SMS package will be stored. This is called
the Package source. (Take note of the package
ID that’s created automatically; you’ll need
this later when you update your Bootstrap.ini
file.) Click Next. You’ll see a message that SMS
Distribution Points require updating due to
changes to the Operating System Package, click
OK, Finish.
Creating the SMS Program
Now we’ll create an SMS Program, which is
a subcomponent of a package. To create the
SMS program, expand Image Packages in the
console tree, expand the node with your new
package name (for our sample package, we’ll
use Vista Ultimate, as shown in Figure 2), rightclick
Programs, choose New, Operating System
Program. The New Operating System Program
Wizard starts. On the New Operating System
Program options page, choose to Create a new
OS Program with default settings and name it
Windows Vista Ultimate ZTI, click Next. On the
Licensing settings page, select Product key not
required and click Next. On the Membership
settings page, select Domain and input your
NetBIOS domain name. Then set the domain
account and password that has rights and
permissions to add computers to the domain.
Uncheck Create random password for the local
administrator, click Next, then Finish. Once
again expect a message about
your SMS Distribution Points
needing to be updated due to
the changes you made, click
OK, Finish.
Updating the
SMS Distribution Point
The next step is to update
the SMS distribution point
with the servers to which the
package will be distributed.
To update the SMS distribution
point, expand Image
Packages, right-click the node
with your new package (Vista
Ultimate in our sample), then choose All Tasks, Distribute
Software. The Distribute
Package Wizard launches.
On the Package page, click Select an existing package,
in the Packages box select
your Package name, then
click Next. On the Distribution
Points page, choose
the servers you want to use
as distribution points and
click Next.
Advertising a
Program
On the Advertise a Program page, choose Yes
to advertise a program from this package,
click Next. Choose your program name on
the Select a Program to Advertise page, click
Next. The Advertisement Target page defines
which computers the program will be offered
to. SMS has some default groups of computers
called “collections” that you can use, or you
can create your own collections. I recommend
creating a collection of test machines to run the
package on first. This way you can deal with
any problems before you run the package on
production machines. Give the advertisement
a name on the Advertisement Name page,
click Next. Choose whether you want to also
advertise to subcollections (subcollections are
collections created from another collection),
click Next. Create an Advertisement Schedule
for when you want it to be made available to
your SMS clients. You can also schedule the
program to be available for a limited time, then click Next. Finally, select if you want the
program to be assigned or not. An assigned
program is a mandatory program; you can
set it to run at a predefined date and time and
nobody could stop it (short of downing the
computer, but when it comes up again it’ll still
attempt to run the program).
Creating SMS Advanced
Client Credentials
For an upgrade or refresh scenario, the SMS
advanced client runs on each local machine.
This client uses the SMS advanced client network
access account and requires sufficient
credentials to present when accessing the SMS
distribution points, BDD 2007 deployment
point, and shared folders. You’ll need to create
and configure a domain user account that can
be used for the SMS advanced client network
access account. First, create a domain user
account in Active Directory (AD). Then, in the
SMS Administrator Console, expand Site Database,
Site Hierarchy, Site Code (3-digit code),
Site Settings, Connection Accounts. Right-click
Client, choose New, Windows User Account.
In the Connection Account Properties dialog
box, click Set, then supply the User name, Password,
and confirm password for the account
you created in AD. Now return to the expanded
Site Settings node and select Component
Configuration. In the details pane, right-click
Software Distribution and choose Properties.
On the General tab under Advanced Client
Network Access Account, set the domainname useraccount_name of the account you
created in AD.
Editing
Bootstrap.ini
in Deployment
Workbench Next, you’ll need to edit the
Bootstrap.ini file in your
deployment point to include
the SMS package ID number
that was generated when you
created your SMS package.
(Remember, you made a note
of it earlier. You can also find
it in the SMS Administrator
console. Select Image Packages
and in the details pane
you’ll see your package name
and package ID.) Go back to Deployment Workbench, expand the Deploy
node, and choose Deployment Points. In the
details pane, right-click the Vista ZTI deployment
point and select Properties. On the Rules
tab, click the Edit Bootstrap.ini button in the
lower-right corner. Modify the OSDINSTALLPACKAGE=
& OSDINSTALLPROGRAM= as
follows: OSDINSTALLPACKAGE=C0100001
and OSDINSTALLPROGRAM=Vista Ultimate.
After you’ve edited the Bootstrap.ini file, you’ll
need to update your deployment point. In
Deployment Workbench, expand Deploy,
select Deployment Points; in the details pane
right-click your Vista ZTI deployment point
and choose Update.
Introducing ZTI Files and
Scripts to the SMS OSD
Phase
Now that you’ve edited Bootstrap.ini and
updated your deployment point, you’ll need
to configure your program to call the Zero-
TouchInstallation.vbs script in each phase,
then update your distribution points. In the
SMS Administrator console, expand Image
Packages, click the Vista Ultimate package,
select Programs. Then right-click the Vista Ultimate
program in the details pane, and choose
Properties. On the Advanced tab, shown in Figure 3, configure each phase with a custom
action. The first phase is Validation. Click the
Add button, choose custom, OK. For Name,
choose ZTI-Validation, and for the command
line enter ZeroTouchInstallation.vbs (you’ll do
this a few times, so select the .vbs script name
and press Ctrl+C to copy it). For Files, click Add and enter the UNC path \\server1\ZTI$ VistaOSD folder created when you created
your deployment point in BDD. Next, ensure
that Files of type is set to All Files (*.*), then
select all files (click one and press Ctrl+A), and
click Open. Configure all of the subsequent
phases with a ZTI-phase name and a command
line of ZeroTouchInstallation.vbs. So,
the State Capture phase should have a custom
action ZTI-StateCapture with a command line
of ZeroTouchInstallation.vbs. There’s no need
to add files to the other phases; they can use
the copy you’ve introduced to the Validation
phase. Configure the Preinstall, Postinstall, and
State Restore phases in the same manner as the
State Capture phase. When you click OK, SMS
updates the package contents, and you’ll see
the message “SMS Distribution Points require
updating.” In the SMS Administrator Console,
under Image Packages, right-click Vista Ultimate,
choose All Tasks, Update Distribution
Points, and click Yes.
Booting a Bare-Metal
Machine
If you’re performing a ZTI on a bare-metal
machine, you’ll need to figure out a way to boot
the target machine. You have a few options.
The first is to create an OS image installation
CD-ROM. The second is to perform a PXE
boot on the client, press F12 for a Network Boot
(this can be automated on the WDS server),
and connect to a WDS server. Or, third party
utilities can automate the PXE boot for you and
connect to a WDS server.
Continued on Page 3
To create an OS image installation CDROM
in the SMS Administrator console, rightclick
Image Packages and choose All Tasks,
Create Operating System Image Installation
CD. The Operating System Image Installation
CD Wizard launches. On the Installation
settings page, ensure the only two options
selected are Allow installation of Operating
System Packages from SMS Distribution Points
and Automatically choose the OS Package
to install by running a custom program or a
script, and click Next. On the Install from SMS
distribution points page, choose Vista Ultimate,
Next. On the Automatically select Operating
System Package page, for File name, enter
\\Server1\ZTI$\ZeroTouchInstallation.vbs, for
Arguments enter /debug:true, then supply the
User name and Password for the user account
that has full control over all of the SMS and
BDD files (domainname\username) and click Next. On the Windows PE settings page accept
the defaults and click Next. Then, on the Create
Image page, type in the name VistaOSDCD
and the filename VistaOSDInstall. Click Finish
to create a VistaOSDInstall.iso that can be
burned to a CD-ROM that you can use to boot
a bare-metal machine.
To perform a PXE boot and connect to a
WDS server, you’ll add your ZeroTouchInstall.
wim (this is created automatically when you
create your BDD deployment point) to a WDS
server. There is one caveat when it comes to
ZTIs and WDS integration: The WDS server
must be compatible with the older version
of WDS called Remote Installation Services
(RIS). To have a compatible WDS server, you
must first install RIS (go to Control Panel, Add
or Remove Programs, Windows Components,
and scroll down to RIS), then upgrade using
the WINDOWS-DEPLOYMENT-SERVICESUPDATE-
X86.EXE hotfix found in the WDS
folder of Windows Automated Installation Kit
(WAIK). If you’ve already upgraded your server’s
OS to XP Pro SP2, you no longer have the
option to install RIS. So, if you want to exercise
the PXE boot option for ZTIs on bare-metal
machines, I suggest that before you upgrade all
of your servers to XP Pro SP2, you retain one to
install RIS on.
Upgrading or Refreshing the Target Machines
What happens on the target machines? In
an upgrade scenario, BDD runs a ZTIPrereq.
wsf script. This script confirms that a target
machine is running an upgradable OS (XP Pro
SP2 or later, Windows 2000 Professional SP4). It
also checks for the following installed software:
SMS Advanced Client for SMS 2003 SP2, Windows
Script Host 5.6 or later, Microsoft Core
XML Services 3.0 (MSXML), and Microsoft
Data Access Components 2.0 (MDAC). After
the ZTIPrereq.wsf script determines that the
minimum requirements are met, the ZTIValidate.
wsf script runs to ensure there are enough
resources available to deploy the new OS.
These resources include 512MB of RAM and
enough hard disk space for the image to be
deployed. It also makes sure that the current
OS isn’t a server OS. In a refresh scenario, the
ZTIValidate.wsf script requires that the current
OS has been installed on the C partition and
that the C partition is the first partition on the
first disk of the target computer.