Update 2019/09/14 – This has been Updated.
The way outlined in this post “works”, but it doesn’t allow the Package Version of the content to be saved to the CCM Cache, If you look up the version, it will say “Version 0”. While this “works”, if you update your driver pack and bump the version of the content, you run into a an issue. We’ve resolved this by adding program to each package, then “run” the program during pre-cache. This enables the additional policy information to add a version to the driver pack in the cache… see additional post to explain the changes
Ok, this hasn’t changed since WaaS 1.0, but I don’t think I ever actually explained it. So basically it’s just variables… one of my favorite things… along with Raindrops on roses and whiskers on kittens.
Basically we have two modules. One that sets the Driver Packs, and one that downloads them.
So now that you’ve seen that image, it’s all crystal clear right?
First off, this is Mike’s baby, he came up with this. For going a lot deeper than I am here, check out Mikes two Blog Posts: Configuration Manager Dynamic Drivers & BIOS Management with Total Control PART 1 & PART 2
So basically a quick overview. Using Dynamic Variables, we match the Model to the CM Package ID of the Legacy Package that contains the Driver Pack for the model.
So IF ( Make = Dell & Model = Latitude 5290) THEN
W10X64DriverPackage = PackageID of Latitude 5290 “Driver” Package
So now that we’ve mapped the variable W10X64DriverPackage to the Package for the model of machine it’s running on… we need to download it… if you actually read Part 1 & 2 from Mike’s blog, you’d know where I am going with this…
So how do we download that? All I have is a Variable… what good does that do me? Here’s how we do it..
So now that we set the Variables we need, (Not see the special conditions if it is running in WinPE, because we use this same method for both OSD & IPU… modular), we call the EXE binary that does the downloading, which calls those variables.
So then in the actual IPU Task Sequence.
We run the same modules, so it would download the Drivers again.. however when it calls the download, it finds that the contents are already in the CCMCache from the last time it ran those steps (Pre-Cache Task Sequence).
So then we run the Upgrade Step with the Staged Driver Package using the %DRIVERS01% Variable. See, simple way of dynamically downloading and applying a driver package during IPU.
Please let me know if you have any questions or if I need to fill in any gaps.