MDT 2013 - Driver Deployment

One of the main task of a MDT Admin is to build a piece of device with each & every drivers properly installed. Installing driver using MDT is a simple process in which you download the driver from OEM website, create a out of box driver package, a selection profile & add the selection profile in the Task sequence.

There are mainly 3 major phase in MDT TS :-

1. Preinstall
2. Install
3. Postinstall

You add the driver selection profile in the preinstall phase :-

& then in the post deployment phase after the OS is deployed the ZTIDriver.wsf installs the drivers from the selection profile.

This generally works well & deploys all the needed driver but what if after the deployment you check the device manager & finds many yellow marks !!

To test if the driver package you created in MDT has all the hardware drivers you can start installing the drivers from the driver package manually, if they install successfully then there is a problem with MDT utility which collects the Hardware id.

The root cause of the issue is, MDT is not able to find the hardware.

What MDT does is it uses an utility called Microsoft.BDD.PnpEnum.exe to collect the Hardware id's & it then generates PnpEnum.xml file which has the Hardware id's. 

These Hardware id's are then queried by the ZTIDriver.wsf (which is present in the Post installation step in the TS) file which reads them from PnpEnum.xml file, then matches it with the drivers which you added in the Task sequence in the form of selection profile & install the appropriate drivers from out of box drivers package present in MDT. 

If the drivers are not getting installed after being in the Out of box driver package then Microsoft.BDD.PnpEnum.exe file is not able to read some of the Hardware & because of which the drivers are not getting installed. These type of hardware are basically Two-tier drivers.
How to verify if this is the issue :-

Check the Hardware id's of the unknown devices :-

Right click on the device which shows “Unknown Devices (yellow mark)” & then go to properties. Then click on Details tab.
Change the property to “Hardware ids” & check these id’s.  

Copy them and check if these Hardware id's exists in the inf files present in the out of box driver package for the device model in MDT.

If they exist there then the drivers should be getting installed with MDT.

Now the next step is to check them in PNPEnum.xml file to verify if  Microsoft.BDD.PnpEnum.exe utility was able to collect the device id from the machine. If they don't exist in the PNPEnum.xml file then the pnp utility was unable to collect the hardware id's.

There are two workaround for this issue :-

1. You install all the drivers present in the driver package by selecting the "Install all drivers from the selection profile"

2. Create application package for the drivers which are not getting installed.

Create Application package for the driver using the .exe file present in the driver package.

No comments:

Post a Comment