SCCM Deploy Windows

System Center Logo

One of the strong points of Configuration Manager is its ability to deploy Windows in unattended manner so to make the process of deploying new computers easy and fast, in this article I will shot the process to have SCCM Deploy Windows.

80 if you haven’t done so you can follow my post on how to deploy SCCM 2012 in a lab environment to quickly get up and running with a working ConfigMgr hierarchy where you can implement what is described in the article.

Main focus of the article will be describing the base process used to have SCCM Deploy Windows so I will not go into much detail about customization and how to use advanced tasks sequences to customize the deployed OS all these arguments will be part of future articles that you will find in the Configuration Manager Page.

Throughout the article I will use Windows 7 as the target deployed OS reason for this is that by experience this is the most commonly deployed OS among the organization I work with, fear not I will also show how to deploy Windows 8.1 and Windows 10 even if the process won’t differ much. 

[su_spoiler title=”The WIM File Format” style=”fancy” anchor=”WIM File Format”]

SCCM Deploy Windows – The WIM File Format

It is important to understand all the components that are used by SCCM to Deploy Windows and the WIM File Format is the very base of the OS Deployment process as a WIM file can contain multiple image indexes storing files only once, for example you can create multiple custom images and store all of them in the same WIM file and all the files common to the various images which are part of the same WIM will be stored/saved only once.

In the image below you can see the structure of a typical WIM file:

SCCM Deploy Windows - WIM File StructureIn addition to  Operating System Image Files (WIM) ConfiMgr 2012 R2 uses Operating System Packages to deploy the Windows to client machines, while ConfigMgr versions previous to R2 SP1 used all installation files coming from a Windows media (like booting from a CD) ConfigMgr 2012 R2 SP1 has replaced this functionality allowing us to simply import the WIM image file and this is what we will be doing.  [/su_spoiler]

SCCM Deploy Windows – Prepare the hierarchy

As you know when a computer starts it tries to boot from the network card which basically is the computer sending out a broadcast request over the network and waiting for a device to respond the boot request, in the configuration environment we can configure a distribution point to act as a PXE Responder which based on policies and configured deployments will send the client necessary instructions and files to boot from the network.

To enable a Distribution Point to act as PXE Responder open the ConfigMgr console go to Administration → Distribution Points and on the right-hand pane right-click on the DP that will be acting as the PXE Responder

SCCM - Deploy Windows - Enable DP PXEIn the Properties page go to the PXE tab where we can enable the DP to respond to PXE Requests of any client and set other parameters like a password to boot or the NIC that will be used to listen for incoming PXE requests, in the picture I’ve highlighted the changes in my lab

SCCM - Deploy Windows - PXE Unknown ClientsOnce you click OK ConfigMgr will take care of configuring the various components and installing the Windows Deployment Services components used in the software distribution process, you can achieve the same result using PowerShell with the following command

Set-CMDistributionPoint -SiteSystemServerName "SZHV-CM01.mcse.lab" -EnablePxeSupport $true -EnableUnknownComputerSupport $rue -AllowRespondIncomingPxeRequest $true

SCCM Deploy Windows – Add an OS Image

Once the server has been configured to answer PXE requests it is time to add an OS image that will be used to deploy the OS on the client, for the purpose just copy the Install.wim file from the Windows ISO or install media to a folder on the ConfigMgr Server with a command like

xcopy Z:sourcesinstall.wim '\szhv-cm01OSDWIMWindows 7 x64 Pro Gold'

Next within the ConfigMgr admin console go to Software Library → Operating System → Operating System Images right-click on it and select Add Operating System Image 

SCCM Deploy Windows - Create OS Image

 

In the wizard that will start you can specify the WIM file that we copied earlier over the Distribution Point share together with some useful details to track the specific image

SCCM Deploy Windows - OS Info

 

Once the OS Image object has been created in the ConfigMgr console you need to Distribute content to the Distribution Point otherwise the OSD will fail, I’ve seen lot of deployments fail because content was not properly distributed to the DP, to do so just right-click the OS Image just created and select Distribute Content

SCCM Deploy Windows - Distribute Content

All of the above can easily be achieved through PowerShell as well here’s the command to use

New-CMOperatingSystemImage -Name "Windows 7 Pro x64" -Description 'Install.wim from original Microsoft installation media' –Version '6.1.7600' -Path '\szhv-cm01OSDWIMWindows 7 x64 Pro Goldinstall.wim'

SCCM Deploy Windows – Create the Boot Image

Next step in the process creating the boot image that will be used by the client to start the OSD process, like when installing Windows from a media this is WinPE responsibility, ConfigMgr should have created two boot images named Boot Image (x86) and Boot Image (x64) from the Windows ADK installation but you can manually create a custom boot image with the copype batch file

SCCM Deploy Windows - CopyPe

SCCM Deploy Windows - CopyPe Command

Once the boot image has been created and files copied to the distribution point share in the ConfigMgr console navigate to Software Library → Operating Systems → Boot Images right-click on the node and select Add Boot Image completing the wizard that will guide you through the process of importing the boot image into ConfigMgr

SCCM Deploy Windows - Add boot ImageAdd-Boot-Image-WIM-FileAdd-Boot-Image-WIM-Properties

You can perform the same task via PowerShell with the following command

New-CMBootImage -Path "\szhv-cm01OSDBootWindows10_x64WinPEmediasourcesboot.wim" - Index 1 -Name "HeloCheck WinPE Boot Image x64" -Version 10.0.10240.16384

Once the custom boot image is in place we have to distribute it to DP so that it will be available to clients for booting, the process is identical to what I have illustrate for the OS Image Package above.

SCCM Deploy Windows – Create the Task Sequence

The final before SCCM is able to deploy Windows is creating the Task sequence that will instruct ConfigMgr on how actually install Windows on the client, in this article I will use a default task sequence and in subsequent articles I will describe TS customization and advanced techniques for now navigate to Software Library → Operating Systems → Task Sequences right-click on the node and choose Create Task Sequence and choose the option Install an existing Image selecting the OS package and boot image that has been created

Create-Task-SequenceSCCM-Deploy-Windows-Task-Sequence-WizardSCCm-Deploy-Windows-Task-Sequence-Creation

In the Install Windows page select the image Package, specify the Local Administrator Password if you are not centrally managing it and uncheck the option to create a task sequence to be used with a BitLocker compatible machine

SCCM-Deploy-Windows-Task-Sequence-Bitlocker_mini

In the following page specify if computer should be joined to a Workgroup or Domain and the account that will be used to carry on the join operation

SCCM-Deploy-Windows-Task-Sequence-Domain-Join_mini

In the Install configuration Manager Client page you will be given the option to select which package will be used to install the ConfigMgr client, I accepted the default values and in the State Migration page I unchecked all options to migrate an existing user profile as we will be deploying to a new computer

SCCM-State-Migration

As no extra packages or updates will be installed together with the base OS I’ve just accepted defaults in the next two screens, offline and online updates servicing will be part of another article where I will describe the process in-depth

SCCM-OSD-UpdatesSCCM-OSD-Install-ApplicationThe final step is advertising the Task Sequence to the Unknown Computers collections, or any collection created for the purpose, so that the computer will be able to receive settings and install the OS.

SCCM-Deploy-Task-Sequence

SCCM-Unknown-ComputersIn the next window you can choose to which clients the task will be available, for example only to SCCM clients, and the type of deployment that I will leave to Available so to be able to choose which Task Sequence/OS I want to deploy on the machine

Task-Sequence-Deployment-Availability

You can leave all other settings to their default and just skip at the end of the process clicking on the Summary button, it has been quite a long ride but you’re finally ready to Deploy Windows on Network booted clients.

SCCM Deploy Windows – OSD In action

In this part of the article I will quickly show you the results of what has been configured so far, I’ve created a x64 VM that is configured to boot from network

SCCM-PXE-BootWinpe-DownloadSCCm-Run-Task-Sequence

SCCM-Select-Task-Sequence

 

SCCM-OS-Installation

Once you select the Task sequence to run OS installation will begin and you all have to do is grab a cup of your favorite beverage and wait for SCCM to do its magic.

Advertisements

2 thoughts on “SCCM Deploy Windows

  1. Pingback: Optimize SCCM PXE

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s