This post will outline driver package creation, management, and best practices for System Center Configuration Manager (SCCM / ConfigMgr). The steps outlined in this post will ensure minimal driver management in SCCM, while ensuring the end device receives the proper drivers during imaging.
Staging and Imaging the New Device
The first step in the process is to get the new device able to image with the environment’s gold image. You will have to note that it may be necessary to inject the network drivers into your Windows Pre-Installation Environment (WinPE) boot image. If the device fails to load the WinPE environment it is either the network or storage drivers are not available.
Pick the below scenario that matches your environment:
- The Task Sequence deployed to unknown computers and the local administrator password is set
- Begin imaging the device
- The Task Sequence deployed to unknown computer but the local administrator password is not enabled
- Copy the task sequence to enable the local administrator account, deploy the task sequence and start imaging the device
- No task sequence is deployed to unknown computers but the local administrator password is set
- Import the device and add it to the proper collection and begin imaging
- No task sequence is deployed to unknown computers but the local administrator password is not enabled
- Copy the task sequence, enable the local administrator account, deploy the task sequence, import the device, and begin imaging the device
To import a device into SCCM follow the steps outlined in the below link:
If network drivers are in the Operating System media that task sequence will complete successfully. If the device does not receive a network driver it will fail, and you must logon as the local administrator.
Install and Retrieve Drivers for Configuration Manager
This demo was ran using an HP EliteBook 8540w. This device does not officially support Windows 10. The device will be unable to install all drivers on this late model.
The two “Base System Device” is a RICOH media card reader, in which there is no Windows 10 drivers for. This certain device will always have the two unknown devices.
Once the device has been imaged, driver review will occur.
- Open Device Manager
- Go to the properties of the “Unknown Device” and retrieve the Hardware ID
- Once the Hardware ID is retrieved, open up a web browser to identify the driver
- Typically, a display driver is included with Operating System media. For stability and standardization, it is recommended to update the driver to the manufactures most recent release. For the demo we are using NVidia’s most recent version
- Once the required drivers are installed, browse to:
- Once in there, sort the folders by “Date Modified” and select the drivers installed post imaging
Driver Folder Structure
Copy the drivers to the driver source location for importing into SCCM.
Typical driver location structure:
Helpful Driver Download Techniques
The top three enterprise standard hardware manufactures have client management driver packs available to download
- Hewlett-Packard, Dell, and Lenovo
- This will be for models released within the last four years, if the model is older than two years (2016) it may never receive a Windows 10 client driver package
- You will still follow the same techniques to go to the manufactures support website to download drivers
Both Dell and Lenovo have SCCM driver packages you can download. For HP devices, they recommend using their product “SoftPaq Download Manager” to download the proper drivers.
For older models, both Microsoft and Chipset manufactures are releasing their drivers through Microsoft. These drivers are in the OS media, and will most likely never be updated again.
Creating the Driver Package
The driver structure will typically follow the same structure as your source directory.
Since you can only import drivers into the root “Drivers” node; you should never store drivers in there. Once imported move the drivers to it’s appropriate location.
The below steps will outline importing the drivers and creating the driver package.
- Right click on “Drivers” and select “Import Driver”
- Create a new category for the device
- Example: HP-Elibook8540w-Win10-x64
- The next step is creating the Driver Package
- Select “New Package”
- Typical naming standards: Manufacture-Model-OS-Architecture
- Example: HP-Elitebook8540w-Win10-x64
- Typical naming standards: Manufacture-Model-OS-Architecture
- Standard source path guidelines:
- After hitting “OK” on the “Create Driver Package” Select “Summary” and then “Next”
- After the “Import New Driver Wizard” completes, distribute the “Driver Package” to a single distribution point for testing
- Move the drivers from the root node to its long term storage location
Implementing the Driver Package in Your Task Sequence
A step “Apply Driver Package” needs to be added in your test OS deployment task sequence.
- Edit your task sequence
- Typical Driver Package inject breakdown:
- Add a “Apply Driver Package” step
- Click on “Options” > “Add Condition” > “Query WMI”
- Run the following query statement to retrieve the model in WMI;
- Get-WMIObject Win32_ComputerSystem output:
- Condition in Task Sequence
- SELECT * FROM Win32_ComputerSystem WHERE Model like “%8540w%”
- Once completed, image the device again, and verify all drivers where installed
Driver Verification Post OS Deployment
Before moving this step into a production OS deployment, verify the results of the driver package injection.
Take these thoughts into your consideration for hardware life-cycle management.
When it comes to decommissioning a device the naming tree standard in this post will help tremendously. Verify the drivers of the decommissioned device only has that device category assigned to them. If the verification comes back with only one category begin decommissioning.
If it has more than one category:
- Move source files to the most recent model
- Change the source for those drivers
- Move them in the console
- Remove the old category
In conclusion, review the the full write up on “Driver Management” from Microsoft by browsing to the following link: