I still get asked this pretty often, and I share this post: Driver Pack Mapping and Pre-Cache, and get told... ok, that's cool... but lets keep it simple for now... so in this post, I'll go with the simple method of having a download step per model driver package.
- ConfigMgr Inventory SystemSKUNumber, Product & BIOSVersion for Device Mapping
- Apply Package of Drivers Manually (DISM) - Recast Software
- Speed Up Driver Package Downloads for ConfigMgr OSD - Deployment Research
Using your ConfigMgr inventory, you can grab the information you need to do all of the mapping for your models.
Step to gather hardware information, used in the conditions, script from Johan: Onevinn - Scripts (schrewelius.it)
Each Manufacturer gets it's own folder with conditions
Each Model gets it's own Step with Condition
HP: Uses Product Task Sequence Variable
Dell: Uses SystemSKUNumber Task Sequence Variable
HP EliteDesk 800 G6 | Product: 8711
- Drivers are in Standard Packages, NOT Driver Packages. aka, the drivers are NOT imported, but only added into a source folder and a package is created from them.
- In my Environment, I WIM the driver packs to reduce the size, this means I have to run a step before the apply driver via DISM step to mount the WIM, and one after to dismount the WIM. I've left these steps in the Task Sequence, if you're not WIM'ing your driver packs, just disable that step.
- Create the Driver & BIOS (templates) packages in CM: CreateCMPackages_BIOS_Drivers.ps1
- Populate the HP Driver packages: garytown/HP_Driver_PopulateCMPackage.ps1
- See that Github for additional items.