Building a CM Lab - Operating System Deployment [11]

In this post, number 11, we're going to confirm OSD, and make sure we have what we need for basic OSD. [OSD Overview MS Docs] [OSD Requirements MS Docs] [OSD Basics MS Docs]

This post will NOT cover the fancy stuff, but just the basics of getting OSD working.

At this point, the assumption is that you've done previous posts and have setup Boundaries, a Network Access Account, or Enhanced HTTP.

Requirements:

Windows Deployment Media

Lets first confirm Windows media:

Windows Deployment Media
I've added media to my source location, and then created these System Images [MS Docs Instructions].

Boot Images

I then make sure I have Boot Media with the components I need to install the OS and support PowerShell scripts and a front end (Not covering here, but will need in the future):

Operating System Boot Images
Here are the 2 default Boot Images.  For my proposes, this is fine, so I take the x64 and edit it to achieve my goals.
Boot Images
On the Optional Components, I've added all these things, which will get used by Scripts I use during WinPE, to update BIOS, gather information, etc.
Boot Image
I also up the Scratch Space to 512, typically not needed, but I like to prepare for future.
Update Distribution Points Wizard
Once you've added your components and made you changes, you'll need to update the DPs.
Update Distribution Points Wizard
Successfully updated the Boot Media with the components I need.
Distribute Content Wizard
Once you've updated it, you need to make sure it's distributed, so go ahead and right click on it and distribute to your DP group.

Task Sequence Boot Media

Now that we have Boot Images, we need to make Boot Media, running the wizard will make it a snap. [MS Docs]

Create Task sequence Media Wizard
I typically use Dynamic, just because it's the default and I'm too lazy to add the extra click.
Create Task sequence Media Wizard
Since I'll be using this on VMs, I want to make an ISO. I have it saving the ISO to my source server to a folder I've created called "BootMedia".
create Task Sequence Media Wizard Security
I've enabled Unknown computer support, as it makes it easier for testing, avoiding the requirement of importing objects. I disable the password because this is for my lab, and I'm in full control of the boot media.
Create Task sequence Media Wizard Boot Image
Here you pick the boot image, the DP and Management Points (There is only one, so it's not hard to pick the right ones)
Customize Task Sequence
I don't customize this typically, definitely not need for a proof of concept test.
Create Task Sequence Media Wizard Completion
And Success... we'll use this media to boot the VM shortly to test.

Deployment Collection

Now I'm going to make a Collection which I'll use as my OSD Deployment Collection.  It will contain unknown devices, as well as any devices I want to image. I'm going to name the Collection OSD Bare Metal, implying they are going to be clean installs.

Create Device Collection Wizard general
Create Device Collection Wizard Membership Rules
I've added "All Unknown Computers" collection as an include rule. This will allow new machines never seen by CM before to be able to pull in a task sequence and be imaged without the need to import a record.

Create OSD Task Sequence

Now lets make a new Task Sequence to test OSD with. [MS Docs]

Create OSD Task sequence
Ok, we're going to make a New TS (Create Task Sequence)
Create Task Sequence Wizard New Task
Install an existing image package is the option we want.
Create Task Sequence Wizard New Task Sequence
Pick the Boot Image that we've setup
Create Task sequence Wizard Install Windows
Then we need to pick the OS Image, I'm going with the 1909 default VLSC media
Create Task Sequence Wizard Install Windows
I want to deploy Index 3, Enterprise. Ideally you'd only have 1 index for better performance. This has become much easier with recent CM releases where you can now choose the index you want to import. For the demo, I'm using basic media downloaded from VLSC with no modifications and imported using defaults
Create Task Sequence Wizard Configure Network
Next we need to configure how we join the machine to the domain.  First pick the domain, then the OU. Then specify the account to join the machine to the Domain. See the previous posts where we cover accounts. [MS Docs]
ask sequence Wizard Configuration Manager Client
Here you can set the CM Client Properties, I've set the CCMCache size to 25 GB, depending on your environment, you might need to set more things. [MS Docs Client Settings] [MS Docs ConfigMgr Step]
Create Task sequence Wizard State Migration
I don't have any of these items selected, for our Bare Metal tests, there are no settings / files that need to be migrated
Create Task Sequence Wizard Include Updates
For our test, there is no point to install updates, I also haven't setup an Software Update Point yet either, so there aren't any updates available. [MS Docs]
Create Task Sequence Wizard Install Application
On the Apps, I've added WMI Explorer to just confirm that app installs work during OSD [MS Docs]
Create Task Sequence Wizard Compeltion
Ok, and we have a TS.

Lets take a look a it and see what CM made for us.

Task Sequence Editor Apply Operating System
Well, it's basic, but it will work for an initial test.  To dive deeper into each step, MS Docs for each Step

Deployment:

So now we need to Deploy the TS, and then we also need to create a Deployment.

Deploy Software Wizard
TS = the one we just created, and we're going to deploy it to the OSD Bare Metal Collection
Deploy Software Wizard Deployment Settings
I've set it to available (Setting a TS Deployment to required on a collection that includes unknown devices.. bad idea. I've also set it to be restricted to Media (Boot Media) and PXE.
Deploy Software Wizard User Experience
Basic Defaults here
Deploy Software Wizard Distribution Points
Here, you don't have a ton of choice, if you setup a boundary group with the DP, you won't need to two bottom boxes checked.
Deploy Software Wizard
Deployment is done.

Operating System Deployment

Operating system Deployment
Using HyperV, I've created a New VM and have the ISO set to boot
microsoft Endpoint Configuration Manager
It booted our media and found the Task Sequence
Microsoft Endpoint Configuration Manager
This is good, means the DP and boundary is setup and our VM is able to pull down content.
Active Directory Users and Computers
Here you can see the machine joined the domain.  I logged in with my domain credentials.
Configuration Manager Trace Log Tool
So looking at the log, I can see we ran into an issue, the TS failed before it installed our application, as it hung on enabling Bitlocker, which makes sense in this situation.  Probably should have unchecked the bitlocker stuff when making the TS.

So now we've setup CM, the requirements to get OSD up and running and ran a test to confirm it's all working.

Blog Post List

Series Introduction - Building a CM Lab from Scratch

  1. Domain Controller - Setting up your Domain Controller
  2. Gateway Virtual Machine - Creating a Router for your Lab using Windows Server
  3. Certificate Authority - On Domain Controller [Optional]
  4. ConfigMgr Server Pre-Reqs (Windows Features)
  5. Configuration Settings (AD & GPOs)
  6. Source Server (File Share)
  7. ConfigMgr SQL Install
  8. ConfigMgr Install
  9. ConfigMgr Basic Settings
  10. ConfigMgr Collections & App Deployment
  11. ConfigMgr OSD
  12. ConfigMgr Reporting Services