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:
In 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
In 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
Once 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
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
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
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
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
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
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
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
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
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
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
The 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.
In 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
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
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.