Looks like Lenovo has its own way of naming their models. I have worked various hardware rollout project s in multiple organisations where the clients had used Lenovo hardware.
In my experience, apply driver package always works when we use Model task sequence variable to identify the hardware model.
However, couple of days later we will get a call from deployment guys saying the builds not working. Now it is our turn to wonder what was happened from the test build to production deployment.
Well, it is not your driver package or the guy who’s reporting the issue. It is Lenovo how they name the models. Lenovo uses 7 (Machine type (4) + Model (3)) letters numbering on the model. If you tested your test driver package, we must be testing one of the unlimited model. That is why the Task Sequence won’t apply the non-matching model. If we check all listed models in Lenovo website, it will look as below.
I chosen x220 Laptop for this example;
So for a machine type 4286 we have probably few hundred models. Same goes for all other models hardware as well. To apply the driver package for all available x220’s in your environment, we have to add all the models included under the ‘models’ list. Wow, that sounds like an easy task. Not really. To overcome this issue, instead of using Model Task Sequence variable, use WMI query to identify the version name of the machine.
Go to the machine, launch command prompt as Administrator, type following command
wmic csproduct get version
That will return a value of what actually the machine called as.
For x220 you will get ThinkPad X220.
So how can we use the version value in SCCM OSD task sequence?
On the driver package step, go to the option, then choose add condition, choose WMI Query.
In WMI Query box add following query;
SELECT * FROM Win32_ComputerSystemProduct WHERE Version LIKE "%ThinkPad X220%"
Then click OK.