SCCM: Why its important to clean drivers where its data source got changed or deleted

Introduction

Drivers are integral part of operating system deployment. They help in deployment process as well help in function of hardware devices.

SCCM contains such drivers. They are imported in SCCM with help of .INF file. Every driver have the source path.

SCCM drivers may be integrated into Boot Images or Driver packages. They need to be distributed the distribution point. Both are mostly part of the SCCM task sequence.

Issues

But have you ever thought of what will happen if any one of the driver’s source path got

  1. Deleted accidently by someone.
  2. Renamed
  3. Moved to some other location.

In these cases, we need to take utmost care of driver packages and boot image which are having such drivers as they can cause serious problem.  

Let’s assume here that you have Ethernet driver which is part of boot image and some driver packages. However, its pat got moved to some other location, but the same change is not performed in SCCM source path.

Ethernet driver is now a unknown driver and may cause issue with boot image and driver packages. Let’s see how it is going to affect these packages.

Boot Image

Here culprit driver is part of one of boot image and you distributed to all sites as this is an important production boot image. You decided to add some storage driver in it. When you add the driver, it’s get successfully added. Now next you decided to update the distribution point so that the added driver can be reflected to all location. The moment you update you get below error as

If you will try to add the same Ethernet driver to other boot image, it will give the error as specified driver path does not exist.

Driver Package:

Assuming the same case as above.  While adding Ethernet driver to some driver package, it will give the error as

If this driver is already part of any driver package, then updating will not case the issue however while removing the driver from that driver package will give the same error as above.

Solution?

In these cases, we need to delete the such driver from SCCM. Before deleting their integration with boot image and driver packages need to be noted down.

In some cases, if you know that the source path got renamed accidently, and you remember the original path while importing so renaming to older path can solve the issue.

How to get the list of such drivers?

You may want to go through the driver node and check each driver manually but doing this will surely take lot of effort and time. Sharing the Powershell script which will help to get such list.

https://gallery.technet.microsoft.com/POWERSHELL-SCRIPT-TO-LIST-6cb298d9