Obtaining and Importing Drivers in SCCM for HP Client Devices

I quickly found while using the HP Client Integration Kit that, though the tool makes it easy to download and import drivers, the size of the resulting drivers and packages is excessively big. Using the HP EliteBook 820 G3 as an example device, when using the HP CIK the resulting size of the drivers is 2.3GB for this laptop compared to 823MB using the method I’ll describe in this post.

In this post we will:

  • Obtain the drivers for our device
  • Import the drivers into SCCM and create a driver package
  • Configure a task sequence to install the driver package
  • Set rules in the task sequence to only install this driver package on HP EliteBook 820 G3 laptops

I will assume you already have a Task Sequence created to build your Windows computer.

Obtaining the Drivers

I use the 820 G3 as an example here but you can adapt this for any make and model. This is a hands-on method of obtaining drivers which does take a little time but I’ve found this gives me the best result during OSD and less driver bloat.

1) Install HP Support Assistant and install any driver updates on your client device

2) Install Intel Driver Update Utility and install any updated drivers, if available

3) (Optional) Install drivers from third party manufacturers.

This step is more manual so will take some time which is why I’ve marked it as optional. This is preferable if you want to make sure you want to start off with the latest drivers for your devices in your SCCM database.

Open up Device Manager and identify devices from third party manufacturers like Broadcom, AMD, Realtek, etc. Go to each of their website and check if there’s a more recent driver available and install them.

4) Backup your installed drivers using Double Driver.

Double Driver basically scans your current system, identifies your device drivers and backs them up for you which you can then use with SCCM. I’ve been using Double Driver for a few years now but didn’t think of using this with SCCM until very recently.

Download the portable tool and run it on your client device. Click on Backup > Scan Current System and wait for the tool to identify your device drivers.

Here is a screenshot of the drivers identified on the HP EliteBook 820 G3:

clip_image004

Click on “Backup Now” and choose a destination to store your drivers. Make sure you leave the “Structured folder (default)” selected. Click on OK

clip_image005

Keep the resulting backup drivers handy to be imported into your SCCM database

Get the Correct Model Name of the Client Device

Further along in this post we’ll create a driver package for our drivers which we’ll then use in our task sequence. We’ll need to create a rule in our task sequence to only install this driver package for this particular computer model. For this reason we’ll need to extract the correct model name of this device at this stage using the following WMI query in an elevated command prompt:

WMIC csproduct GET name

clip_image007

Make a note of the result exactly as shown and keep it safe. We’ll need it further along in the post.

Create Source Folders for your Device Drivers and Driver Package

Note that before importing the drivers you need a source folder for your device drivers and a separate folder for your driver package. I always stress the importance of organising the SCCM software repository with a clear and easily identifiable folder structure to better manage your packages (or drivers in this case). Create a folder structure for your client device driver management similar to below:

Source folder for device drivers:

\\sccmserver\Source\OSD\Drivers\Device Drivers\HP\Windows 10 x64\EliteBook 820 G3

Source folder for driver packages:

\\sccmserver\Source\OSD\Drivers\Driver Packages HP\Windows 10 x64\EliteBook 820 G3

2) Copy the drivers you backed up using Double Driver into the source folder for device drivers similar to above.

Import the Drivers in SCCM and Create a Driver Package

1) Open up the SCCM console and select the Software Library workspace. Expand Operating Systems and select Drivers. Click on “Import Driver” in the ribbon

2) In the Import New Driver Wizard leave the first option selected and enter or browse to the UNC path where you copied your device drivers. In my case it’s \\sccmserver\Source\OSD\Drivers\Device Drivers\HP\Windows 10 x64\EliteBook 820 G3

Under “Specify the option for duplicate drivers” choose

clip_image009

3) Driver Details page:

Uncheck “Hide drivers that are not in a storage or network class (for boot images)”

Uncheck “Hide drivers that are not digitally signed”

Check “Enable these drivers and allow computers to install them”

Click on Categories and either select an existing category to add these drivers to or create a new category.

clip_image011

4) In the Add Drivers to Packages step we’ll create a new driver package HP EliteBook 820 G3

For the name of the package I suggest you enter a name which identifies the model of the computer and the OS and architecture the driver package is intended for.

Something like HP EliteBook 820 G3 – Windows 10 x64

Under “Path” enter or browse to the source folder you created for the driver package. In my case it’s \\sccmserver\Source\OSD\Drivers\Driver Packages HP\Windows 10 x64\EliteBook 820 G3

Finish the rest of the wizard without making any changes to the defaults (do not add any drivers to any boot images when asked).

Distribute the Driver Package to your Distribution Points

Go ahead and distribute the driver package to your DPs.

You may also want to create a folder structure in your SCCM console under Driver Packages and move your package to it. Something like Driver Packages\Windows 10 x64

Configure your Task Sequence to Install the Driver Package

I noticed this post is quite long so I’ve split it into two and moved this section into it’s own post titled Configure your Task Sequence to Install the Driver Package. You can continue with the rest of the instructions over there.

 

Windows 10 “Creators Update”

As a true fan of Windows 10 and an avid Windows Insider watching the Windows 10 Event was super exciting for me – as an enthusiast I hugely enjoy watching new technology and hardware being unveiled live. Microsoft announced some great things in the event but my focus was all on the Windows 10 Creators Update and I definitely liked what I saw was coming. You can watch the event on demand right here.

Watch the video below titled “Introducing the Windows 10 Creators Update” and keep a close watch for some of the features coming in the update, due in early 2017:

Here’s a look at some of my favourite among the many features coming in the Windows 10 Creators Update.

Paint 3D

We’ve been wondering all these years what Paint is STILL doing in Windows but now Microsoft decided to rewrite the app from the ground app. I first heard of this form Paul Thurrott on his website, but the video above shows what an awesome job Microsoft has done with Paint 3D.

Microsoft has made this as simple as taking a photograph, take a look at this GIF from the event below:

castlegif

You can see an actual sand castle is being scanned using a smart phone which is then instantly converted into a full 3D model.  Continue reading

Windows 10, Delivery Optimisation and BranchCache

Delivery Optimisation is a Windows 10 feature which, when enabled, essentially creates a peer-to-peer ‘network’ of sorts where each peer can cache downloaded Windows 10 updates locally on their hard drive. The idea is to conserve bandwidth by allowing Windows 10 devices to send and receive updates from one another on the same network without having to download it from WSUS or Windows Update. This, of course, is especially useful in slow network or metered environments.

The introduction of this feature doesn’t affect you if you’re using SCCM Software Update Point (SUP) for patch management and Windows 10 servicing. Delivery Optimisation only kicks in when the Windows Update agent contacts Windows Update (via Internet) or WSUS. By contrast, with SUP the updates are downloaded to the SUP server and then delivered to the PC which is where the Windows Update agent installs them from.

Delivery Optimisation is enabled by default on 1511 and 1607 though it’s configured differently depending on the Windows 10 edition. Enterprise, Enterprise LTSB and Education editions are configured to only use PCs on the corporate network as peers (LAN mode). Pro and Home editions default to using peers from the Internet (Internet mode).

There’s a Group Policy setting called “Download Mode” (in Computer Configuration > Administrative Templates > Windows Components > Delivery Optimization) which you use to configure Delivery Optimisation “modes” (referred to in the above paragraph). Here is a table showing you what download modes are available to you and the functionality it provides when set:  Continue reading

SCCM: Preparing for the Windows 10 Anniversary Update

You’ll find there’s a little bit of pre-preparation work that needs to be done to get SCCM Current Branch ready for the Windows 10 Anniversary Update. I spent the weekend doing this myself on my SCCM 1602 lab and thought somebody might find it helpful to have it documented here.

To be clear, this isn’t a how-to post but more of an informational one. What follows is a set of tasks that need to be carried out on SCCM 1602 along with links to downloads and further information for each task.

1) First things first, upgrade SCCM CB to 1606. (Upgrading from 1511 to 1606 pretty much works exactly the same as upgrading from 1602 as described by Prajwal Desai in his blog).

2) After upgrading you need to install hotfix KB3184153 from the Updates and Servicing node to fix an issue with compliance policy rules in version 1606. If you switched to the fast ring to upgrade to 1606 you’ll also have KB3180992 to install.

3) Install KB3159706 on your SCCM 1606 SUP Servers to “enable the provisioning of decryption keys in WSUS for Windows Server 2012 and 2012 R2. This update is necessary for WSUS to be able to natively decrypt the encrypted Windows 10 Anniversary Update packages, and any subsequent Windows 10 feature upgrades”. Don’t forget to carry out the manual steps described on the support page.

Continue reading

SCCM Hotfix Stuck on “Prerequisite Check Passed”

Note: This process will also work if your 1606 update is stuck on “Prerequisite check passed”.

I had to fix a little problem before I could upgrade my SCCM CB to 1606 – the “Configuration Manager 1602 Hotfix (KB3155482)” update pack was stuck on “Prerequisite check passed” while the option to install the hotfix was greyed out. Annoyingly the 1606 update was also greyed out, so I couldn’t proceed without first dealing with the problematic hotfix.

clip_image002

I had a recent backup to fall back on but I opted to tackle the problem head on. Here’s how I done it…

  • I found the folder the update pack was downloaded into and made a note of the folder name (which had a random set of characters, referred to as the package guid)
  • Deleted the record of the package with the above guid from the SCCM database
  • Refreshed the view in the Update and Servicing node and restarted the SMS_EXECUTE service
  • The update pack was then downloaded again in the Update and Servicing node
  • I then proceeded with the installation as normal

Detailed instructions below:

In my case the Hotfix update pack was already downloaded which was located in a folder in the “SCCM Install Location\EasySetupPayload” directory: Continue reading

Deploying Box for Office Integration using SCCM – Part 1

This is likely something that’ll be rolled out in our organisation soon which is why I wanted to try this out in my lab beforehand.

We’ll start off with a high level overview of how I plan to meet the pre-requisites for this application and then proceed to implementing that in SCCM. This will probably be a pretty long post so I won’t be providing step by step instructions. Part 2 will cover creating the Box for Office Integration application, setting the application dependencies and testing our deployment.

Let’s take a look at the Box for Office integration pre-requisites:

Now, let’s take a look at how we plan on meeting these prerequisites for the deployment:

  • We’ll create three device collections to identify computers with office 2010 or higher, each limited to Windows 7, Windows 8.1 and Windows 10 computer collections respectively. This will allow us to deploy the application to one collection at a time. Each collection will only contain computers with Windows 7 or higher AND Office 2010 or higher.
  • We can safely disregard the Windows Installer requirement since the installer version is greater than 4.5 on all our operating systems in our collections by default
  • We’ll create separate applications for the .NET Framework 4.0 and the Visual Studio 2010 Tools for Office Runtime in SCCM. For each application we’ll set the detection rule to check for the presence of specific registry keys/values in order to detect if the application is installed or not.

This will effectively meet all the prerequisites and we can proceed with deploying the application in Part 2. Now, let’s get onto implementing this in SCCM.

1) Create the Collections to Deploy the Application To

We’ll start off by creating separate device collections for Windows 7, Windows 8.1 and Windows 10 computers. We’ll then create three collections with Office 2010 or higher installed and limit each to the Windows 7, Windows 8.1 and Windows 10 device collections respectively.

a) Create a device collection each for Windows 7, Windows 8.1 and Windows 10:

clip_image002

The WQL queries to use for each OS version is provided below:

Windows 7 Continue reading

Deploy Microsoft .NET Framework 4.0 using SCCM

I’m planning on writing an article on deploying the Box for Office Integration client package using SCCM which requires the .Net Framework to be pre-installed (amongst other pre-requisites) so I thought I’d first write this post on deploying the framework so I can refer to it in the upcoming post.

We’re going to deploy this as an application and not a package since you can only have dependencies on applications.

Download the .NET Framework 4.0 Standalone Installer

To start off download the .NET 4.0 standalone installer from Microsoft and save it to your SCCM software repository.

I briefly mentioned the importance of having a clear and easy to understand folder structure to store your images, software and packages in the repository. Personally, I have a dedicated folder called “.NET Frameworks” with subfolders for each version that I’ll be deploying.

clip_image002[1]

Make a note of the UNC path where you save the installer.

Create the .NET Application in SCCM

Again, I suggest you create a dedicated folder for .NET Frameworks under Application Management > Applications and create subfolders for each .NET framework version that you’ll be deploying.

Right-click on your chosen folder under Applications and select “Create Application”.

Continue reading