10 #1 best practices for OS Deployment with ConfigMgr 2012 R2

Greg's Systems Management Blog

Here’s a quick list of the links from my TechEd Europe session this morning.  More info to follow over the next few weeks!

“KISS—start simple, and work your way toward complexity.” – Rob Marshall

“Automate process to import drivers and create driver packages.”Kent Agerlund and “Automate, Automate, Automate. Manually building images is not what anyone should be paid for. It’s a waste of money and time.” – Jason Sandys

“Add CMTrace in the path statement for WinPE, and essential files to your boot.wim.”Mike Terrill

“Access hidden task sequences on-demand.”Niall Brady

“Use MDT Lite Touch to build your reference image.”Johan Arwidmark

“Implement a Pre-Flight Checklist.”Troy Martin

“Restrict TS to reduce risk. Configure deployment for only boot media and PXE.” – John Marcum and Todd Hemsell

“Always use MDT integration with the Validate step to prevent the ultimate oops.” – Tim Mintner

View original post 89 more words

“You cannot import this boot image. Only finalized boot images are supported” ConfigMgr 2012 R2

Problem

You get the following error when adding a boot image to SCCM 2012 R2

“You cannot import this boot image.  Only finalized boot images are supported.”

Solution

Check if you have McAfee VirusScan Enterprise installed on your SCCM server.

If yes, make sure you have these exclusions configured.  In my case, I also had to temporarily un-install McAfee VirusScan.

The Curious case of OSD via SCCM ConfigMgr causing a network outage

Recently I deployed SCCM 2012 R2 for a customer mainly for the purpose of deploying desktop operating systems over the network.

Setup

A site server with a local SQL was deployed in the customer’s datacentre with the management point and distribution point role.  A distribution point server was deployed in the customers head office to services content (images) to pc’s on the local area network.

SCCMv1

Issue

However, shortly into the testing phase of the OSD process, it was reported that network services were being disrupted on the LAN (e.g. access to LOB applications, file servers etc)…..and across the WAN!!  This was happening when deploying the image to less than 5 PC’s simultaneously.  The DP server in the head office and the PC’s being images (new PC’s) were all connected directly to the same switch.  The image was approx. 8GB in size.

There were lots of questions asked e.g.

  • How is SCCM deploying images?
  • Unicast or multicast enabled?
  • Is the content being deployed over the WAN?
  • How big is the image?

In a nutshell…What mis-configuration within SCCM is causing this issue??

I didn’t believe SCCM was causing the issue.  But how did I go about proving it?

Troubleshooting Approach

I hate getting caught up in network related issues cause I’m not a network guy.  So my approach to dealing with this was to isolate the issue and determine if indeed SCCM was the cause, or if it was simply the trigger.  So how did I do this….

  1. I deployed MDT on the distribution point server in the head office.
  2. I got the network team to set up the relevant network captures
  3. I then recreated the deployment scenario by deploying the same image via MDT as I used in SCCM to the same group of PC’s

MDTv1

Why did I do this?

  • If the same issue was occurring when deploying images via MDT, then it wasn’t a configuration issue within SCCM causing the problem.
  • Then hopefully, with the right network capture, the network team can identify what issue on the network is causing the problem

Outcome

The result of the test was that the same network outage symptoms occurred when deploying images over the network via MDT.  Therefore, it was not a configuration issue within SCCM 🙂

In terms of what is causing the issue, there are some theories emerging from the network team (misconfigured default gateways / DHCP / switches), but it’s still under investigation.  I’ll post an update when I hear back.  But for now, SCCM (and me) are in the clear! 🙂 🙂

 

Create Custom Reports in SCCM based on SQL Queries

Today I had a request from a customer to create a custom report in Configuration Manager to meet their specific requirements.  Specifically, a report that would include:

  • Computer Name
  • Domain
  • User
  • Serial Number
  • Make and Model
  • OS
  • Site Code
  • Memory
  • Hard disk size
  • CPU Speed

First I needed to find a SQL query that would fulfil the above criteria.  I used the following query from the SMSUG.CA blog found here

SELECT  distinct 

 CS.name0 as ‘Computer Name’, 
 CS.domain0 as ‘Domain’, 
 CS.UserName0 as ‘User’, 
 BIOS.SerialNumber0 as ‘Bios serial’, 
 SE.SerialNumber0 as ‘System Enclosure serial’,
 CS.Manufacturer0 as ‘Manufacturer’, 
 CS.Model0 as ‘model’, 
 OS.Caption0 as ‘OS’, 
 RAA.SMS_Assigned_Sites0 as ‘Site’, 
 RAM.TotalPhysicalMemory0 as ‘Total Memory’, 
 sum(isnull(LDisk.Size0,’0′)) as ‘Hardrive Size’, 
 sum(isnull(LDisk.FreeSpace0,’0′)) AS ‘Free Space’, 
 CPU.CurrentClockSpeed0 as ‘CPU Speed’ 
from  
  v_GS_COMPUTER_SYSTEM CS right join v_GS_PC_BIOS BIOS on BIOS.ResourceID = CS.ResourceID
 right join v_GS_SYSTEM SYS on SYS.ResourceID = CS.ResourceID  
 right join v_GS_OPERATING_SYSTEM OS on OS.ResourceID = CS.ResourceID  
 right join v_RA_System_SMSAssignedSites RAA on RAA.ResourceID = CS.ResourceID
 right join V_GS_X86_PC_MEMORY RAM on RAM.ResourceID = CS.ResourceID 
 right join v_GS_Logical_Disk LDisk on LDisk.ResourceID = CS.ResourceID 
 right join v_GS_Processor CPU on CPU.ResourceID = CS.ResourceID    
 right join v_GS_SYSTEM_ENCLOSURE SE on SE.ResourceID = CS.ResourceID 
where 
 LDisk.DriveType0 =3
group by 
 CS.Name0, 
 CS.domain0,
 CS.Username0, 
 BIOS.SerialNumber0, 
 SE.SerialNumber0,
 CS.Manufacturer0, 
 CS.Model0, 
 OS.Caption0, 
 RAA.SMS_Assigned_Sites0,
 RAM.TotalPhysicalMemory0, 
 CPU.CurrentClockSpeed0

 

Next I needed to create a custom report in Config Manager based on the above SQL query.  I followed the procedure detailed in this blog substituting the SQL query above.

 This worked a treat, creating a custom report in minutes, specific to my customers’ requirements

CustomReport

Build & Capture a Windows 8.1 reference image using MDT 2013

I was about the write a blog post summarizing the steps the build & capture a Windows 8.1 reference image using MDT 2013.

However, I stumbled upon a great post from Gerry Hampson doing just that (well..with Windows 7):

Create customised reference image with MDT 2013 Lite Touch Build & Capture – 5 easy steps

In this blog, Gerry summarizes the steps for Windows 7, and includes links to a detailed step by step from Mitch Tullock found here and a blog from Johan Arwidmark on the right way to build and capture (link)

So in summary, to paraphrase Gerry Hampson

  1. In the MDT Deployment Workbench, create a deployment share
  2. Populate the deployment share with the Windows 8.1 source media
  3. Create task sequence to deploy Windows 8.1 to the reference computer
    1. Add a task to pause the sequence between build and capture.  This is where you can install applications, make registry changes etc.
  4. Don’t forget to Update the deployment share
  5. Import the Lite Touch Windows PE x64 image from the boot folder in the deployment share into “boot images” in WDS
  6. PXE boot the reference computer
  7. Select the task sequence you just created and follow the instructions to deploy and capture the Windows 8.1 image

The above assumes you have MDT & WDS already installed.

Finally, John Baker has a very good video here demonstrating these steps

Integrating MDT 2013 with SCCM 2012 R2

Integrating MDT with SCCM is highly recommended.  Johan Arwidmark  @jarwidmark expertly explained the reasons why at TechEd 2014

The following steps can be used to integrate MDT 2013 with SCCM 2012 R2 (this guide assumes you have both MDT and SCCM already installed)

Launch “Configure ConfigMgr Integration”

Integrating MDT 2013 with SCCM 2012 R2-1

Choose Next

Integrating MDT 2013 with SCCM 2012 R2-2

Click Finish

Integrating MDT 2013 with SCCM 2012 R2-3

Now when you open the Configuration Manager console, you will see a new option under Task Sequences to “Create MDT Task Sequence”

Integrating MDT 2013 with SCCM 2012 R2-4