Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.

Scripted Windows Server 2008 Deployment with Deployment Solution for Dell Servers v3.1

Created: 26 Mar 2008 • Updated: 07 Jul 2009
Language Translations
eorme's picture
+4 4 Votes
Login to vote

Scripted OS deployment has always been a crowning feature of Deployment Solution for Dell Servers. The recently released version 3.1 continues this legacy by offering scripted OS deployment of Windows Server 2008. This new scripted OS installation process offers more freedom to the IT administrator while keeping with the tried and true interface of previous versions of Deployment Solution for Dell Servers.

Disclaimer: Individuals customizing scripts is done at the customer's own risk. Realize that when creating custom scripts, you may cause data loss, or cause other unforeseen system failures.

Section I: Installing the OS Source Files

Support for performing scripted OS installations can be enabled by creating a new "OS Configuration" through the Configuration Wizard, or Configuration Utility. We will walk through this process in detail so that you will understand this process and have the necessary background to perform your own customizations.

How to Start

From the Deployment Console, launch the Configuration Utility, or Configuration Wizard by going to Tools->Dell Tools.

If you're using the Configuration Utility, go to the "OS Deployment" tab, and click "Add". Select either the 32-bit version, or 64-bit version of Windows 2008 from the list, and press OK.

If you're using the Configuration Wizard, click "Next", to go to Step 2. Check either the 32-bit version or the 64-bit version of Windows Server 2008 from the displayed list and press "Install OS Support".

Pointing to Your Installation Media

After performing the steps above, you'll see a prompt asking you point to the location of the OS source files you intend to use. This can be a CD/DVD in your drive, or a location where you have copied the files from an install disc on a local (or networked) drive. These OS source files will be copied to the express share for easy access by your machines you intend to deploy.

Note: When pointing to a location, do not choose a particular file, but rather point to the root folder of the disc.

Hint: Sometimes your OS source files may already be in the express share. This could occur if:

  1. You have already created generic scripted OS install tasks using the DS console, in which case the files are located in a folder within "Deployment Server\Deploy".
  2. You have already created an OS configuration using these OS source files, in which case the files are located in a folder within "Deployment Server\Dell\OSsup\".
  3. You have copied the OS source files into the express share yourself, in which case they will be in the location you specified.

If any of these cases are true, you don't need to make a separate copy of the OS source files. Just point directly to where they are located in the express share (make sure not to use a UNC path). Deployment Solution for Dell Servers will automatically detect that these files are already in the express share and will ask you if you'd like to reference these files from their current location instead of making a separate copy. Using this mechanism you can potentially have dozens of OS configurations, and since every OS configuration has its own unattend file, you can customize each configuration for a specific purpose.

Providing OS Configuration Information

Once you point to the location of the OS source files, the individual editions along with their descriptions will be read from the install.wim file. You will then be presented with this dialog.

Note: Once the values have been inserted into the XML file they cannot be parsed out again using this utility. If you want to change these settings, edit the unattend.xml file using a text editor, or create a new OS Configuration.

Automatic Basic Job Creation

Once the OS configuration is created, new basic jobs for that OS are automatically generated in the console.

Note: If you at a later time delete this OS configuration, the jobs will not be automatically deleted, and will fail if they are run.

The first basic job that is created when an OS configuration is made is the "Unattended OS Install" job. This job contains only the Scripted OS Install tasks:

This set of three tasks assume that the machine has at least one hard disk (or virtual disk if using RAID), and there is no partition defined. These same three tasks that are created by the Job Builder if you only select "Scripted" OS install task.

The second basic job that is created is a Bare Metal to OS. This job contains several tasks that do a complete configuration and deployment of a machine no matter what state it is in.

This is equivalent to checking all items in the job builder.

Section II: The Scripted Install

In this section we will explain the scripted install tasks for Windows Server 2008:

  • Copy Answer File
  • Replace Tokens in Unattend File
  • Copy Drivers and Launch Install

Assumptions these tasks make:

  1. The OS Configuration they are associated with still exists, and contains a valid answer file, and the source files are available.
  2. The machine these tasks are run on has at least one available hard disk with at least 14 Gigabytes of free unpartitioned space. If this disk is on a RAID controller, the controller must be configured and with at least one virtual disk.

If these assumptions are not met, the install will probably fail. There are also additional settings that can be changed in each script's "User Modification Section".

The "Copy Answer File" Task

The purpose of this task, is to make a copy of the unattend.xml file from the OS configuration and place it in a temp directory in the eXpress share in preparation for it to be tokenized.

There is one user configurable option, the unattend.xml file location. To view it, open the "Copy Answer File" task script, and scroll down to the user modification section.

:: ------------------------------------------------------------------
:: -- USER MODIFICATION - BEGIN
:: ------------------------------------------------------------------

	set UNATTEND=%#*"select answer_file_winpe_path from dbo.dell_installed_os where key_name='75ecaa72-a7ce-414b-a365-6485c80bbc00'"%

:: ------------------------------------------------------------------
:: -- USER MODIFICATION - END
:: ------------------------------------------------------------------

By default this contains a DS token that pulls the location associated with the OS configuration that was used to create this task. This could be changed to any location within the datastore. Keep in mind however, that this path must be from the client's perspective, and since client's map the DS share to the Q: drive, a path may be as follows:
Q:\Dell\OSSup\W2K3_Windows Server 2003

The "Replace Tokens in Unattend File" Task

This short task directs the DS engine to tokenize the unattend.xml file created in the temporary location on the DS share. This replaces all DS tokens in the unattend file with values from the database. Examples of these tokens are the Dell directory location and the computer name. These tokens can be seen by viewing the unattend file associated with any OS configuration. No user definable options are available for this task.

The "Copy Drivers and Launch Install" Task

This task does the following:

  1. Constructs the paths for the installer to be launched
  2. Determines which mass storage drivers are needed for this machine, and copies them (if available) from the express share to the ramdisk (X:\).
  3. Ensures that the Altiris agent will be installed during the installation (using the $OEM$ structure). Without this step, the machine would be in an unmanaged state after deployment.
  4. Copies the unattend.xml file to the ramdisk for use with windows setup.
  5. Searches available hard disks, and inserts the first available hard disk and partition number into the unattend.xml file.
  6. Launches Windows setup, and waits for the WinPE pass to finish.
  7. Copies the plug and play drivers if available on the express share to the hard disk for use in the audit pass.

There are four user customizable options for this task:

:: ------------------------------------------------------------------
:: -- USER MODIFICATION - BEGIN
:: ------------------------------------------------------------------

	set DISK=AUTO
	set DRIVER_TYPE=AUTO
	set DEFAULT_DRIVER=NONE
	set OS_OEM=%DELL_DRIVE%\Dell\ossup\drivers\w2008\$OEM$

:: ------------------------------------------------------------------
:: -- USER MODIFICATION - END
:: ------------------------------------------------------------------

Option 1: DISK
The disk number can be hard coded. Most often this is 0, 1 or 2, but may be greater depending on your RAID setup. By default this is set to AUTO which will choose the first disk that has available space.

Option 2: DRIVER_TYPE
Deployment Solution for Dell Servers maintains a repository of mass storage drivers which can be accessed by using a hardware and vendor ID. By default, all mass storage controllers are detected, a list of hardware and vendor ID's are made and drivers for each of those controllers are copied. This mechanism can be overridden by defining one custom value here in the form of XXXX,YYYY.

Option 3: DEFAULT_DRIVER
This allows the user to specify a driver path to be copied if auto detection fails.

Option 4: OS_OEM
This specifies the path of the mass storage and plug and play drivers. This should only be modified if you have created two different repositories that you which to use concurrently. In creating a separate repository, follow the same pattern as the one found created by default.

Ideas for Customizations

Now that we have explained all the available options, we can list a few customizations that could be done by advanced users.

  1. Custom Disk numbers could be modified to preserve existing operating systems on other disks for dual-boot scenarios.
  2. Once the "Copy drivers and launch install" task is complete, this means the WinPE phase of installation is complete. You have then have an opportunity to copy additional files to the hard disk which could potentially be used in later phases of setup, or even after setup. Just tack on additional tasks to the end of the job. If you'd like to execute files after setup, modify the unattend file to perform tasks with those files after setup has completed.
  3. If you would like a certain group of drivers to be used with one deployment job, and another group with other jobs, you can create additional driver repositories. Modify the OS_OEM path to point to your own custom repository modeled after the default repository.
  4. XML file customizations. User who which to use their own unattend.xml file can do so, and still take advantage of the disk, and driver auto-detection mechanism. Merely copy and paste the DS tokens into the appropriate places in your new xml file. Once you have a new tokenized file, overwrite the contents of the xml file associated with the OS configuration.

Conclusion

Windows 2008 deployment on Deployment Solution for Dell Servers provides a robust and customizable platform that can be expanded to fit many different needs in the server room. Feel free to add comments explaining your customizations.