http://sharepointgeorge.com/2009/windows-deployment-services-waik-and-windows-7-part1/
http://sharepointgeorge.com/2009/2009/windows-deployment-services-waik-windows-7-part-2/
http://sharepointgeorge.com/2009/windows-deployment-services-waik-windows-7-part-3/
http://sharepointgeorge.com/2009/windows-deployment-services-waik-windows-7-part-4/
Windows Deployment Services, WAIK & Windows 7 –
Part 1/4
I have been known to be at the
cutting edge of technology, early adoption of Microsoft technologies is a must
and this time round nothing is going to change. I first played with
Windows Deployment Services (WDS) back in the day when it was referred to as
Remote Installation Services (RIS) and had first exposure to the Windows
Automated Installation Kit (WAIK) back when it was in beta and so was Vista at
the time. I took the plunge and deployed Windows Vista using Light Touch
deployment via WDS and the WAIK a month after Vista was released to the
enterprise and today I will be providing you with step by step instructions on
how you can do the same with Windows 7 and Windows 2008 R2.
In this 4 part series I will begin
my focus in providing you with instructions in setting up your WDS role on a
Windows 2008 R2 server, with part’s 2 and 3 focusing on utilising the WAIK to
create your necessary xml files that are needed for light touch deployment and
finish off our setup in part 4 by introducing the capability to inject any
necessary drivers to your original “install images”. This article is
assuming you have a Windows 2008 R2 server ready to rock and roll with, so
let’s begin!
With the introduction of Roles and
Features there is no need to have the Windows 2008 R2 media at hand as all
roles and features are included in the initial installation albeit inactive. In
order to setup WDS navigate to Administrative Tools / Server Manager and click
on Roles on the left navigation pane and then click on Add Role on the right
navigation pane. This will invoke the Add Roles Wizard that we have become
familiar with in Windows 2008.
Click Next. Select Windows
Deployment Services as your Server Role.
Click Next. One of the many
things that Microsoft have improved upon lately is their thorough explanations
when deploying roles and features within Windows 2008. Below is an
introduction to Windows Deployment Services and things to note regarding the
configuration and installation.
Click Next. The below role
services are automatically checked.
Click Next. The below
confirmation screen is displayed.
Click Next. The installation will
now proceed with the results displayed as per the below screen capture.
Once the installation has completed,
navigate to Administrative Tools / Windows Deployment Services. When you click
on the server node you will receive the below warning message;
Windows Deployment Services is not
configured.
This server is not configured. To configure this server, first verify that you
are a local administrator.
Right click on the server and select
configure server. The below wizard is invoked. You will need to
ensure that the below pre-requisites are met before WDS can become functional.
Click Next. Select your Remote
Installation Folder Location. As per the below description, ensure that
you choose a partition that is large enough to hold your images.
Click Next. Select your PXE
settings. You have the option to prestage your client which is when you
create a computer account object in Active Directory Users and Computers and
map this computer object to a physical computer. This then becomes a
known client. In my example below I have selected Respond to all
computers for simplicity.
Click Next. The server will
then go through the configuration process until you receive the below
confirmation. You now have the ability to add your images to the server.
I will leave the Add images to the server now checked which will invoke
the Add image wizard.
Here I will add the Windows 7 boot
and install images. These images are originally located under the sources
folder on your Windows 7 DVD. The two files that you need to locate are,
install.wim and boot.wim. In my example below I have copied these 2 files
to the WDS server under C:\Windows7 Images.
You now have the option to select an
existing image group or create a new one. I have gone ahead and created a
group called Windows 7.
Click Next. The wizard will
detect my 2 images, 1 boot being the boot.wim file and 1 install install image
being the install.wim file that I had copied from the Windows 7 media to my
image path below.
Click Next. The images are now
added to the server and will be listed as per the below 2 screen shots.
Below is the Windows 7 install image
added from our media.
Below is the Boot image added from
our media.
This
concludes the first part of this article. In part 2 of this series we
will shift our attention to the Windows Automated Installation Kit otherwise
known as the “WAIK” where we will concentrate our efforts in automating the PXE
boot by creating a WDSunattend.xml file and then continue in part 3 by
automating the Out of Box experience on our Windows 7 install image by creating
an Imageunattend.xml.
Windows Deployment Services, WAIK & Windows 7 –
Part 2/4
Welcome back to the second part of
this series and in the next 2 article’s I will be focusing our efforts on
creating the necessary xml answer files to automate the deployment of our
Windows 7 image via Windows Deployment Services (WDS). In part 1, I
provided you with step by step instructions on installing and configuring your
WDS role on your Windows 2008 R2 machine. If you missed it, you can access part
1 here. Our focus in today’s article revolves around the creation
of the WDSUnattend.xml file that is required to automate the Windows Pre
Execution Boot for WDS clients.
Our tool of trade for today is the
Windows Automated Installation Kit (commonly referred to as the WAIK or Windows
AIK), and this was first introduced by Microsoft when Windows Vista was
released for IT professionals assisting them with the deployment of Windows
Vista. It’s primary focus is to create the necessary answer files to
deploy and customise the Windows install image and to also automate the WDS
side of things or what is commonly referred to as windowsPE, more on this
later. Windows System Image Manager (also referred to as Windows SIM) is
the actual tool required to create the XML answer files and is part of the
WAIK.
The first thing you need to do is
download the WAIK for Windows 7 which is quite a hefty download (1706.6MB) and
can be accessed from the Microsoft Download site here. Included in the WAIK as mentioned already is the
Windows System Image Manager (WSIM) amongst other tools such as documentation,
the Deployment Imaging Servicing and Management Tool (DISM), the User State
Migration Tool (USMT) and the Volume Activation Management Tool (VAMT).
Once you have downloaded the WAIK
ISO you can easily burn the disc image using Windows 7 Disc Image burner and
then install the entire package on your “technician computer”. Typically
the technician computer is another PC that must be running Windows 2003,
Windows Vista or Windows 7. The below welcome splash screen is what you
will see when you begin the installer.
Click on Windows AIK setup to begin
the installation.
Click Next
Agree to the terms and then click
Next. The installation is pretty straight forward after this point.
Once the installation has completed you can then launch the Windows System
Image Manager application which is located under the Microsoft Windows AIK All
Programs folder.
We will now need to create our
working folder and copy the install.wim from our Windows 7 source media,
typically I will create a folder on the technician PC and call it Windows
AIK Distribution Share.
Once we have created our folder and
copied across our install.wim we can now proceed to open our image via Windows
System Image Manager, File / Select Windows Image. Browse to the Windows
AIK Distribution Share that we created and select the install.wim file.
At this instance you will receive the below warning in which we will click Yes.
It will now proceed and create the
catalog file that is required. This process can take a while and will
only need to be completed once. Please note, If the WIM file contains
multiple images then you must select the image to open from the WIM file (e.g.,
Windows 7 BUSINESS or Windows 7 ENTERPRISE).
Upon completion, your catalog will
be created and the components and packages will be listed under the Windows
Image pane located on the left hand corner of WSIM.
We can now proceed to create our
first answer file by clicking on File / New Answer File.
You can see that the Answer File can
potentially be made up of 7 distinct sections as per the above screen
capture. These are 7 possible stages in the deployment of your operating
system whether it be Windows Vista, Windows 7 or Windows 2008. These
stages are also referred to as passes and you may not necessarily need to
utilise every single pass. Because we are utilising WDS for our
deployment of Windows 7, we will be required to create 2 XML Answer files using
WSIM and these will be named as follows;
- WDSUnattend.xml
(This will automate the windowsPE which encompasses the login to our WDS
server, the creation of our partitions, selecting the partition to install
Windows 7, and the language to run setup in. The WDSUnattend.xml is
eventually attached to the Client Tab of the properties of your WDS
server.)
- ImageUnattend.xml
(This will primarily automate the Out of Box Experience (OOBE) of your
Windows 7 Install Image. These are the screens that you would
normally fill out after the first boot of your system, such as the
creation of a local user account. The ImageUnattend.xml is
eventually attached to the General Tab of the Image Properties in WDS).
So let’s begins with
WDSUnattend.xml. Part 3 will discuss the ImageUnattend.xml in a lot more
detail so stay tune for that article.
Now that we have created our Answer
File albeit a blank canvas we need to inject the various components for our
WDSUnattend.xml. You do so by expanding the components under the Windows
Image pane and then right clicking on the required component and inserting the
relevant Pass to our Answer File. At first sight this may seem to be very
daunting as there are so many components that need to be matched off to the
correct Pass.
The Components and Passes required
for our WDSUnattend.xml are as follows;
|
|
Component
|
Configuration pass
|
|
1
|
Microsoft-Windows-International-Core-WinPE\SetupUILanguage
|
windowsPE
|
|
2
|
Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition
|
windowsPE
|
|
3
|
Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition
|
windowsPE
|
|
4
|
Microsoft-Windows-Setup\WindowsDeploymentServices\
|
windowsPE
|
Please note that when expanding the
components list, ensure that you expand the component to the lowest level
before adding the setting to the relevant Pass. This ensures that the
selected setting and all its parent settings are also added to the answer file
in the single step.
Our first component required is the
“Microsoft Windows International Core-WinPE”.
As per Microsoft’s documentation,
Windows Preinstallation Environment (commonly known as Windows PE) is referred
to as a minimal operating system designed to prepare a computer for Windows
installation. It can be used to:
- Start a computer with no operating system (a bare-metal
system)
- Partition and format hard drives
- Copy disk images or initiate Windows Setup from a
network share
We will be automating the WindowsPE
via the WDSUnattend.xml Answer File that we are just about to create.
I will begin by locating our
first component Microsoft-Windows-International-Core-WinPE\SetupUILanguage
as per the below screen capture and right click and select the appropriate
Pass. As you can see the only Pass available to me is “windowsPE” and by
selecting this pass it will add the component to my answer file under the
Answer File navigation pane.
We can now fill in the details of
the component that we have just added on the right navigation pane. In
the example below I have specified the InputLocale, SystemLocale and UserLocale
to be "en-AU" for Australia. Please note that you can click F1
on any parameter field to reveal your options from the help file.
We also need to specify the
subcomponent SetupUILanguage as per the below screen capture.
So to recap on what we have just
achieved, we have entered 4 settings in our answer file. As you can see
from the Microsoft Windows International Core-WinPE component we had 3 settings
to fill in and a sub component “SetupUILanguage” that also needed a setting
entered as per the below;
|
Configuration pass
|
Component
|
Value
|
|
1 WindowsPE
|
Microsoft-Windows-International-Core-WinPE
|
InputLocale = <Input
Locale> For example, en-AU or en-US
SystemLocale = <System
Locale> For example, en-AU or en-US
UILanguage = <UI Language>
For example, en-AU or en-US
UserLocale = <User
Locale> For example, en-AU or en-US
|
|
1 WindowsPE
|
Microsoft-Windows-International-Core-WinPE\SetupUILanguage
|
UILanguage = <UI
Language> For example, en-AU or en-US
|
The next steps involved are 2,3 and
4 from our component list which is all about configuring our disk and preparing
it for install. As part of any Windows setup process when you boot into
Windows PE (pre-execution boot) you are provided with the opportunity to create
and format disk partitions preparing it for installation. In order to
automate this process, we need to specify these details in our WDSUnattend.xml
answer file. We will now focus on the below highlighted components.
|
|
Component
|
Configuration pass
|
|
1
|
Microsoft-Windows-International-Core-WinPE\SetupUILanguage
|
windowsPE
|
|
2
|
Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition
|
windowsPE
|
|
3
|
Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition
|
windowsPE
|
|
4
|
Microsoft-Windows-Setup\WindowsDeploymentServices
|
windowsPE
|
As per our previous exercise, we
will need to inject the necessary components into our Answer File and this case
we will start by adding Microsoft-Windows-Setup\DiskConfiguration\Disk
setting to the WindowsPE Pass as follows.
Right click on Disk
Configuration and add setting to Pass1 windowsPE as per the below screen
capture.
This setting will now appear in the
Answer File pane within Windows System Image Manager.
We will now right click on
DiskConfiguration and select Insert new Disk. The details area for Disk
will now need to be set so the WillWipeDisk is set to true.
We will now right click on Create
Partitions and select Insert new create partition.
We will now proceed and create our
Windows Partition and then we will need to Modify the Partition specifying
details such as Label, Drive Letter and File System Format. Your results
should look similar to the below screen captures.
Answer File Structure
Create Partition Details
Modify Partition Details
The last component that we need to
inject is Microsoft-Windows-Setup\WindowsDeploymentServices\ImageSelection\InstallTo
providing details on which partition our
Windows 7 Image should install to. Again, we will right click on the Microsoft-Windows-Setup\WindowsDeploymentServices\ImageSelection\InstallTo
component and select Add setting to Pass1 windowsPE.
The settings required
for the above component is captured in the below screen shot. We have simply
specified that our eventual Windows 7 image will install directly on the first
partition of our selected disk.
In summary, the below are the above
settings in text form;
|
WindowsPE
|
Microsoft-Windows-Setup\DiskConfiguration
|
WillShowUI = OnError
|
|
1 WindowsPE
|
Microsoft-Windows-Setup\DiskConfiguration\Disk
|
DiskID = 0
WillWipeDisk = true
|
|
1 WindowsPE
|
Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition
|
Order = 1
Size =
Type = Primary
|
|
1 WindowsPE
|
Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition
|
Active = true
Extend = false
Format = NTFS
Label = Windows Operating System
Volume
Order = 1
PartitionID = 1
|
|
1 WindowsPE
|
Microsoft-Windows-Setup\WindowsDeploymentServices\ImageSelection
|
WillShowUI = OnError
|
|
1 WindowsPE
|
Microsoft-Windows-Setup\WindowsDeploymentServices\ImageSelection\InstallTo
|
DiskID = 0
PartitionID = 1
|
We have now completed the settings
and passes required for our WDSUnattend.xml Answer File which we can now
save. Upon saving your xml file, Windows System Image Manager will check
for any warnings or errors.
We will now apply the
WDSUnattend.xml file to our WDS server as follows. Navigate to the
Windows Deployment Services Management Console and right click on your Server
object and select properties. Click on the Client tab and select Enable
unattend installation and you will notice that you will need to specify a
separate WDSunattend.xml file for the differing architectures. Select Browse
and navigate to your saved xml file and then click on Apply and OK.
We have come to the conclusion of
the second part of this series and have successfully created and applied our
WDSUnattend.xml file to your WDS Server, automating the PXE boot. In the
next article we will focus our efforts in creating an ImageUnattend.xml file
which will be applied against our Windows 7 image or commonly referred to as
our “Install” image automating the Out of Box Experience.
Stay
tuned! If you would like to be notified of future articles, you can do so
by subscribing via RSS,
or have articles directly sent to your email by subscribing on the right
navigation bar.
Windows Deployment Services, WAIK & Windows 7 –
Part 3/4
We are back again and in today’s
article we will continue our efforts in automating our Windows 7 deployment via
Windows Deployment Services utilising the WAIK tool and the creation of our XML
Answer files. In Part 2 of this series we focused on the creation of the
WDSUnattend.xml file that is required to automate the Windows Pre Execution
Boot for our WDS clients and took care of the partitioning of our disks.
If you missed part 2 of this series, you can access it here. Today we continue our efforts in utilising the Windows
System Image Manager (WSIM) to create our ImageUnattend.xml which will be
specifically designed to automate the Out of Box Experience (OOBE) of our
Windows 7 Enterprise install.
In our last article I introduced
WSIM and the steps required to create an answer file. I also went into
some detail regarding the 7 distinct sections that make up an answer file that
reflect the 7 possible stages in the deployment of your operating system, in
our case Windows 7. As you recall these stages are referred to as Passes
and you may not necessarily need to utilise every single pass in an XML Answer
File. Our WDSUnattend.xml file that we created in Part 2 primarily focused on the windowsPE pass however our
ImageUnattend.xml that we are creating in this article will utilise the
specialize and oobeSystem passes. So let’s begin!
Launch WSIM and select File / New
Answer File. The first area that we will focus on is the specialize pass
which we will provide details for the automation of the joining of the machine
to the domain.
The minimum components and passes
required for our ImageUnattend.xml are listed as follows;
|
Component
|
Configuration pass
|
|
|
1
|
Microsoft-Windows-Shell-Setup
|
specialize
|
|
2
|
Microsoft-Windows-UnattendedJoin\Identification
|
specialize
|
|
3
|
Microsoft-Windows-International-Core
|
oobeSystem
|
|
4
|
Microsoft-Windows-Shell-Setup
|
oobeSystem
|
|
5
|
Microsoft-Windows-Shell-Setup\OOBE
|
oobeSystem
|
|
6
|
Microsoft-Windows-Shell-Setup\UserAccounts
|
oobeSystem
|
|
7
|
Microsoft-Windows-Shell-Setup\UserAccounts\Administrator
|
oobeSystem
|
|
8
|
Microsoft-Windows-Shell-Setup\UserAccounts\DomainAccounts
|
oobeSystem
|
|
9
|
Microsoft-Windows-Shell-Setup\UserAccounts\LocalAccounts
|
oobeSystem
|
As a refresher, I will go through
the process of adding our first component (Microsoft-Windows-Shell-Setup) to
our Answer File Pane and it’s required settings. Recall that I went
through this process in some detail in part 2 of this series.
Right click on the required
component and select Add Setting to Pass4 specialize.
This will then appear in the Answer
File pane as follows;
We will make the following changes
to the properties of the Microsoft-Windows-Shell-Setup component as per the
below screen capture. You will notice that in the ComputerName section I
have specified “*” as I am letting WDS do the naming under the AD DS tab of the
properties of the WDS server.
In the below screen capture, I have
specified a Client Naming Policy under the properties of our WDS server.
The following format GK%03# will name my machines in the following format;
GK001, GK002, GK003 etc.
I have listed the rest of the
settings in text form for the components listed in the table above. These
are as follows;
|
4 specialize
|
Microsoft-Windows-Shell-Setup
|
ComputerName =*RegisteredOrganization
=<Name>
RegisteredOwner =<Name>
|
|
4 specialize
|
Microsoft-WindowsUnattendedJoin\Identification
|
DebugJoin = falseJoinDomain
= <Domain Name>
UnsecureJoin = true
|
|
7oobeSystem
|
Microsoft-Windows-International-Core
|
InputLocale = en-Au or en-USSystemLocale
= en-Au or en-US
UILanguage = en-Au or en-US
UserLocale = en-Au or en-US
|
|
7oobeSystem
|
Microsoft-Windows-Shell-Setup
|
RegisteredOrganization =<Name>RegisteredOwner
=<Name>
ShowWindowsLive =false
TimeZone = <AU Eastern
Standard Time>
|
|
7oobeSystem
|
Microsoft-Windows-Shell-Setup\OOBE
|
HideEULAPage =trueHideWirelessSetupInOOBE
= true
NetworkLocation =Work
ProtectYourPC = 1
SkipMachineOOBE = true (This
setting has now been deprecated)
SkipUserOOBE = true (This
setting has now been deprecated)
|
|
7oobeSystem
|
Microsoft-Windows-Shell-Setup\UserAccounts\AdministratorPassword
|
Value = **************
|
|
7oobeSystem
|
Microsoft-Windows-Shell-Setup\UserAccounts\DomainAccountList
|
Action = AddListItemDomain
= <Domain Name>
|
|
7oobeSystem
|
Microsoft-Windows-Shell-Setup\UserAccounts\DomainAccountList\DomainAccount
|
Action = AddListItemGroup =Administrators
Name =Domain Admins
|
|
7oobeSystem
|
Microsoft-Windows-Shell-Setup\UserAccounts\DomainAccountList\LocalAccounts\LocalAccount
|
Action =AddListItemDisplayName
=<Name of Local Admin Account> e.g. HelpDesk
Group =Administrators
Name = HelpDesk
|
|
7oobeSystem
|
Microsoft-Windows-Shell-Setup\UserAccounts\DomainAccountList\LocalAccounts\LocalAccount\Password
|
Value = ********************
|
In summary, the oobeSystem settings
above (Windows Out of Box Experience) automates the initial configuration tasks
that end users normally encounter when installing Windows 7 or Windows Vista.
The above settings are the required
minimum settings to fully automate the Windows 7 Enterprise “install” image,
however you can add other components such as setting a default theme
(Microsoft-Windows-Shell-Setup\Themes).
The complete Unattended Windows
Setup Reference can be found in the WAIK help area and on the Microsoft TechNet
Site here.
Once you have completed adding any
further settings to your ImageUnattend.xml file you will need to validate your
settings and then save the file as “ImageUnattend.xml”.
We will now navigate to your WDS
server and launch the Windows Deployment Services Management Console.
Expand Servers and then your Server Name and click on Install
Images. Our Windows 7 Install Image should be listed as per the below
screen capture. Recall that this was added in Part 1 of this series when we first configured our WDS Server.
Right Click on our Image and select
properties. Under the General Tab, click on select file and browse for
the ImageUnattend.xml file that we saved earlier.
We have now applied our
WDSUnattend.xml which automates the WDS Pre-Execution Boot (part 2 of this series) and our ImageUnattend.xml which automates the OOBE of our
Windows 7 “install” image.
Now is a good time to review your
WDS Server settings within the Windows Deployment Services Management console
by right clicking on the server and selecting properties. Under the AD DS
tab you can specify your Client Naming Policy and specify your Computer Account
Location. Also ensure that your WDSUnattend.xml file that we created in part 2 is applied to the Client tab – Unattend file settings area.
We are now ready to rock and roll
and attempt to deploy our first Windows 7 Image via PXE boot. When your
machine is starting up press the relevant Function key combination to access
the network PXE boot which should then detect your WDS Server and then press
F12 again to launch the Windows PE Boot Image.
Once the boot.wim has completed
loading, you will receive the below screen capture, allowing you to select your
Windows 7 Install Image. If you have multiple Install Images they will also be
listed here.
Click Next.
That’s it! Your installation
will now continue without any user input as this is taken care of by our
ImageUnattend.xml file.
This concludes this part of the
series. In our next and final article I will show you how to inject any
necessary drivers that may have been missed by Windows. I have left this
to the end as it is only until you deploy your first Image to your new or
existing hardware that you will be aware of these missing drivers.
As
always, if you would like to be notified of future articles, you can do so by
subscribing via RSS,
or have articles directly sent to your email by subscribing on the right
navigation bar.