Special Coverage: Windows Server 2008
Deploying Windows Server 2008 with System Center
At a Glance:
- Configuration Manager deployment features
- Creating and customizing a server task sequence
- Adding server roles
- Setting computer-specific variables
With the release of System Center Configuration Manager 2007, server administrators can now take advantage of the same operating system deployment tools that client administrators have
been able to use for several years. In the past, server administrators often performed manual installations of Windows Server® using the CD or DVD, then spent hours configuring the server. Some administrators went a step further and built unattended setup routines by creating an unattend.txt file and perhaps using Remote Installation Services (RIS) to automate the install process to avoid having to be physically present at the server console. More advanced administrators took advantage of Automated Deployment Services (ADS) for Windows Server 2003 to completely automate the entire server build process. Now, with Windows Server 2008, the installation process for servers has substantially changed for the first time since Windows NT® 4.0.
Windows Server 2008 deployment uses the same underlying deployment tools and technologies as Windows Vista®. Because of this change, the tools that server administrators have used in the past will need to be updated or replaced. RIS has been replaced by Windows® Deployment Services (WDS), and ADS doesn't support Windows Server 2008 deployment. For more information about the technologies and tools that have changed with server and client deployment, see "10 Things You Need to Know about Deploying Windows Vista" at technetmagazine.com/ issues/2006/11/Deployment.
Since the underlying technologies for deploying Windows Server 2008 and Windows Vista are the same, wouldn't it be great if you could use the same tools and leverage the same knowledge to deploy both? System Center Configuration Manager and Microsoft® Deployment now provide that integrated toolset. This article will describe how you can use Configuration Manager along with Microsoft Deployment to start rolling out Windows Server 2008.
OS Deployment with Configuration Manager
Before beginning to deploy Windows Server 2008, let's review the OS deployment features of Configuration Manager. When you launch the Configuration Manager Console and go to Computer Management, you will notice a new landing area for Operating System Deployment, as shown in Figure 1.
Figure 1 The Operating System Deployment page (Click the image for a larger view)
On this page, you can view a quick summary of the operating system deployments that have occurred in your environment, and you can navigate to other Operating System Deployment nodes, such as Manage Task Sequences and Manage Boot Images. You'll find a list of Web Reports for viewing the status of deployments and the health of your deployment environment. There is also a quick help reference under Resources that will link you to the help documentation for operating system deployment.
If you look under the nodes in the navigation pane, you can see all of the items that must be configured to perform an OS deployment. Here is a summary of these items:
Boot Images Contains a list of boot images based on Windows PE 2.0 that will be used during the deployment process.
Computer Associations Primarily used for client deployments to map an existing computer to a new machine so that User State can be managed securely. It also contains a wizard to import unknown computer accounts into the Configuration Manager database so that it is possible to deploy bare metal servers.
Operating System Images Contains a list of packages that hold customized Windows Imaging Format (WIM) images for server and client deployment.
Operating System Install Packages Holds packages that contain the full set of source files for an OS deployment, such as the source files for Windows Server 2008.
Task Sequences Contains multiple steps, each of which define the command-line actions that will run without user interaction. Task Sequences are the driving engine of the operating system deployment process and can provide all of the steps needed to deploy and configure an operating system.
Drivers A central repository for managing all of the drivers needed for the various models of server and client computers.
Driver Packages Contains one or more sets of drivers that can be distributed to Configuration Manager Distribution Points and are used during the deployment of server or client computers.
Now that we have a basic understanding of Configuration Manager's Operating System Deployment features, let's gather all of the pieces we need to perform a Windows Server 2008 deployment.
Getting Ready to Deploy Windows Server 2008
What Is Microsoft Deployment?
Microsoft Deployment is the next version of Business Desktop Deployment (BDD) 2007. It brings together the tools and processes required for both desktop and server deployment into a common deployment console and collection of guidance. The product adds new deployment and task sequencing capabilities for desktops and servers using System Center Configuration Manager 2007.
Microsoft Deployment is available at the Microsoft Download Center, and guidance material can be read online in the Desktop Deployment and Server Deployment TechCenters on Microsoft TechNet. For more information and links to these destinations and other related content, visit microsoft.com/deployment.
In order to deploy Windows Server 2008 with Configuration Manager, you need the following items:
Microsoft Deployment Toolkit (MDT) Provides tools and best practices documentation for deploying server and client operating systems. It integrates directly with the Configuration Manager Console to streamline the deployment process. You can download the Microsoft Deployment Toolkit from microsoft.com/deployment.
Custom Boot Image Configuration Manager provides 32-bit and 64-bit boot images that are based on Windows PE 2.0 and includes support for VBScript, Windows Management Instrumentation (WMI), and HTML applications (HTAs). However, if you want your deployment process to request information from a separate SQL Server® database, you will need a custom boot image that has ADO support.
Operating System Install Package Contains the source files from the Windows Server 2008 DVD.
MDT Package Contains all of the scripts and supporting files needed for the Microsoft Deployment Toolkit.
Configuration Manager Client Package Contains the installation files for the Configuration Manager client.
Settings Package Contains the unattend.xml file used for an automated installation of Windows Server 2008 as well as the customsettings.ini file used with the Microsoft Deployment Toolkit.
Sysprep Package Used only when deploying Windows Server 2003 or Windows XP and provides the sysprep files that are needed to prepare a computer to capture an operating system image.
Drivers Contains all of the drivers needed for specific models of servers.
Network shares for Package Sources and Captured WIMs The Universal Naming Convention (UNC) locations where the packages listed above, along with the customized WIM image, will be stored.
It may seem like a lot of work is necessary in order to create all of these packages. The good news is that with the Microsoft Deployment Toolkit, one wizard will create all of them for you.
In order to use the Microsoft Deployment Toolkit with Configuration Manager, you must install it on the same computer as the Configuration Manager management console. After you do so, go to Start | All Programs | Microsoft Deployment Toolkit and choose Configure ConfigMgr Integration, then specify the name of your Configuration Manager Site Server and the Site code and click on Next. This adds extensions to the Configuration Manager Console provided by the Microsoft Deployment Toolkit. Now when you launch the Configuration Manager Console and right-click on Task Sequences, you will be able to see a new option, as shown in Figure 2.
Figure 2 Import Microsoft Deployment Task Sequence (Click the image for a larger view)
Choose Import Microsoft Deployment Task Sequence and follow the steps below to create the necessary packages and the Windows Server 2008 Task Sequence:
- On the Choose Template Screen, select Server Task Sequence, and then click Next.
- Provide a Task Sequence Name and comments describing the task sequence, and then click Next.
- Fill in the details for joining a domain or a workgroup, including user account credentials for joining the server to the domain. Fill in your organizational information and product key, and provide a UNC path and file name for the custom WIM image that will be captured. Provide user credentials for connecting to the network share that will store the WIM file, and click Next.
- On the Boot Image screen, choose to create a new boot image package and provide a network location to use as the package source directory for the boot image package, and click Next.
- Provide a package name, version information, and comments for the Boot Image package, and click Next.
- Choose a platform (x86 or x64), ADO support, any optional fonts you need, a custom background for the boot image if needed, and any extra folders to include in the Windows PE image, and click Next.
- On the MDT Package screen, choose to Create a new Microsoft Deployment Toolkit Files Package, provide a UNC path to use as the package source, and click Next.
- Provide a name, version, language, manufacturer, and comments for the MDT package, and click Next.
- For the OS Image, choose to Create a new OS Install Package, provide the path to the Windows Server 2008 source files and a UNC location to use as the package source directory, and click Next.
- For the Client Package, choose to Create a new Configuration Manager client package, and click Next.
- For the Settings Package, choose to Create a new Settings Package and provide a UNC location to use as a package source for the Settings Package, and click Next.
- For the Sysprep Package, choose No Sysprep Files required, and click Next.
Now the wizard will create the boot image and all of the packages. If you expand Packages, Boot Images, Operating System Install Packages, and Task sequences, you will be able to see all of the packages and the task sequence that were created. After all of these packages are created, they should be deployed to Distribution Points.
In addition to these packages, you'll often need to add drivers for specific server hardware. You do this by adding drivers to the Configuration Manager driver store and creating a Driver Package that will be used during the deployment.
To import drivers into the Driver Catalog and create a Driver Package, go to the Configuration Manager Console, right-click on Drivers, and select Import. Choose to import all drivers in the specified UNC path, then type a UNC path that contains all of the drivers you have gathered for your specific server models. Once that is complete, click Next.
On the Drivers Details page, choose which INF files you want imported and optionally assign the drivers to a category. (A category could be based on a specific server model type.) Click Next, then, on the Add Drivers to Package page, click New Package. Specify a name, comment, and a UNC path that will be used as the package source for the Driver Package, and click OK. Choose Update distribution points when finished and click Next.
On the Add Driver to Boot Images page, choose the Boot Image you created previously and check the box for Update distribution points when finished. Click Next, then, on the summary page, click Next again to complete the wizard, import the drivers, and create the Driver Package.
Editing the Task Sequence
Now that you have finished creating all of the necessary packages and the task sequence to install Windows Server 2008, you will probably want to customize several of the actions in the default task sequence. To modify the task sequence, right-click it and choose Edit. The Microsoft Deployment Server task sequence template will then be displayed, as in Figure 3.
Figure 3 You can customize the default task sequence (Click the image for a larger view)
At a high level, a task sequence is a series of command-line items known as tasks that each perform specific operations. Each task may have specific properties that can be configured and may also have conditions set on the Options tab that evaluate whether specific tasks should be executed. For example, the first task in the task sequence has conditions set as shown in Figure 4.
Figure 4 You can disable a task or set conditions for it in the Options tab (Click the image for a larger view)
In this example, the task is disabled by default because the "Disable this step" checkbox has been checked. If the task were enabled, it would only run based on the conditions that are currently specified.
A few of the more common tasks that you may need to modify before deploying Windows Server 2008 include Format and Partition Disk, Validate, Apply Operating System Image, and Apply Network Settings.
The Format and Partition Disk task lets you define how you want to create the disk partition structure for your server deployments. The default setting creates one partition that uses all of the space on the first disk. You may not want to deploy your servers with this configuration, so you can change this setting to specify the disk layout that you want to use.
The Validate task allows you to check for some basic requirements such as memory and processor speed. If, for example, your company standard for server deployments is 2GB of memory, you could set that as a requirement, and the installation will not continue if the server does not meet that requirement.
The Apply Operating System Image task allows you to configure the specific image to deploy. For example, when using source files for Windows Server 2008, you have the option of deploying Server Standard, Server Enterprise, Server Datacenter, Server Standard Core, Server Enterprise Core, and Server Datacenter Core. You will need to choose the appropriate image to use, and this depends on which version of Windows Server 2008 you want to deploy.
The Apply Network Settings task lets you configure static IP addresses for your network cards as well as change the settings to join a domain or workgroup. Although it is possible to set a static IP address using this task, doing so would make this task sequence only functional for one server. Later, you will see how you can set static IP addresses with variables so you can use a single task sequence for multiple servers.
Installing and Configuring Server Roles
So far you have seen how you can modify the task sequence to configure items related to the installation of the operating system. With the Microsoft Deployment Toolkit, however, you are also given the opportunity to install and configure server roles. For example, you can configure a task sequence to deploy Windows Server 2008 to a branch office server that will run a read-only domain controller and a file server.
To do this successfully, in the task sequence editor, navigate to the Install Software task and choose Add | MDT | Install Roles and Features. Then, in the newly created Install Roles and Features task, check both Active Directory Domain Controller and File Server, as shown in Figure 5.
Figure 5 Installing roles and features (Click the image for a larger view)
Now you need to configure the settings for the read-only domain controller. In the task sequence editor, choose Add | MDT | Configure ADDS. In the newly created Configure ADDS task, choose to create a New read-only domain controller replica, and specify values for the following properties:
- Existing domain DNS name
- Replication source domain controller
- Recovery (safe mode) password
Working with Variables
It's important for you to understand that one of the most powerful features that task sequences offer users is the ability to set almost any property in the task sequence dynamically as a variable during deployment. Configuration Manager and Microsoft Deployment both provide several mechanisms to set and use variables.
Configuration Manager allows you to set the variables as a Computer variable, a Collection variable, or directly inside of the task sequence. Microsoft Deployment allows you to set variables through the customsettings.ini file, a back-end database, or a Web service. You'll find a list of variables that can be set at technet.microsoft.com/bb632442.aspx.
Let's use the example of setting a static IP address on a particular server. Earlier in the article you saw that you could set the static IP address directly inside the task sequence in the Apply Network Settings task. This is not the most ideal practice, however, because it makes that task sequence useful only for a specific server.
What you want to do instead is leave the task sequence alone and set the IP address through a variable. Here's the step-by-step process of how to set the static IP address as a Computer variable:
- In the Configuration Manager console, navigate to System Center Configuration Manager | Site Database | Computer Management | Collections.
- To assign a per-computer variable to a computer, locate and expand the collection the computer belongs to, right-click the computer, click Properties, and then click the Variables tab.
- To specify custom variables and their associated values, click the New icon to open the <New> Variable dialog box.
- In the <New> Variable dialog box, it is necessary to specify a name for the variable and whether this variable will be visible in the Configuration Manager 2007 console. For a static IP address, you would add the following variables:
The configured variables should resemble those in Figure 6.
Figure 6 Using computer variables to set a static IP address (Click the image for a larger view)
Deploying the Task Sequence
Now that you have the task sequence fully configured and have set up your variables, you are ready to deploy Windows Server 2008. Configuration Manager offers several mechanisms for deploying an operating system, such as Pre-Boot eXecution Environment (PXE), task sequence bootable media, standalone media, and through a standard advertisement for existing machines.
For simplicity's sake, I'll outline how to create a task sequence for bootable media. In the Configuration Manager console, navigate to Task Sequences, then choose Create Task Sequence Media from the Actions menu. On the Select Media Type page, choose Bootable Media and click Next. On the Media Type page, specify a CD as the type of media and a name for the media file. On the Security page, you can specify a password to protect the media or a self-signed certificate. Next you specify the boot image. Once that has been completed, you will go to the Confirmation page, where you will click Finish. For detailed instructions on how to deploy using this and other mechanisms, refer to the documentation at technet.microsoft.com/bb681029.aspx.
In this article, you have seen how to use System Center Configuration Manager and Microsoft Deployment to deploy Windows Server 2008, add roles such as a File Server and Domain Controller, set computer specific variables, and deploy the operating system using Task Sequence Bootable media. While actual server deployments can be much more complex, this article should help you get started in unifying your server and client deployment tools.
Tim Mintner is a Senior Software Development Engineer on the Microsoft Solutions Accelerator team, focusing on the Microsoft Deployment Toolkit. He has more than 14 years of experience working with customers to deploy Microsoft operating systems. Tim can be reached at firstname.lastname@example.org.
© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; reproduction in part or in whole without permission is prohibited.