Showing posts with label Drivers. Show all posts
Showing posts with label Drivers. Show all posts

Friday, May 20, 2016

Deploy printer drivers during ConfigMgr task sequence (part 2)

Almost 3 years ago I did a blogpost on deploying printer drivers during a task sequence. That one is based on PnPutil.exe which is fine, but probably not the best solution. Therefore using a CMD file, with multiple commands for different printer models may be better. Let's have a look at that.

When you want to deploy a single print driver or multiple printer drivers, use the following command instead:
RUNDLL32 PRINTUI.DLL,PrintUIEntry /ia /m "<Printer model>" /f "<INF path>\<INF filename>"
RUNDLL32 PRINTUI.DLL,PrintUIEntry /ia /m "<Printer model>" /f "<INF path>\<INF filename>"
RUNDLL32 PRINTUI.DLL,PrintUIEntry /ia /m "<Printer model>" /f "<INF path>\<INF filename>"

This command can be placed multiple times in a CMD file (for example), so just create folders for different models and drivers, and have a CMD file in the root, which is pointing to the different locations. That way printer drivers can be installed easily.

Hope it helps!

Friday, February 7, 2014

How to import Lenovo drivers in ConfigMgr easily

Good news! When you are using MDT and/or SCCM/ConfigMgr and want to create driver packages, you can download them for Dell, HP and Lenovo systems. That saves a lot of time, because to need to download every single driver available. Let's have a look at the different methods for companies. More about that here: Download Driver packages for Dell, HP and Lenovo systems

When looking for Lenovo driver packages, there are a lot of models missing. You can browse the Lenovo website, download each individual driver, extract the driver and import them into ConfigMgr, but this must be done for every model then. Looking on the internet I found the following blogpost: Getting Lenovo drivers into SCCM – The easy way

It mentions using the Lenovo Update Retriever (download) and a VBS script to get the job done. That way every single driver per model can be downloaded at once. The script is extracting all drivers to a different location so drivers can be imported in ConfigMgr easily afterwards. The VBS script needs some modification on a few values, but works perfectly. Really easy this way!

The order for ConfigMgr integration will be:
1. Download (Lenovo Update Retriever)
2. VBS script (copy from website)
3. Import drivers in ConfigMgr
4. Create driver packages in ConfigMgr

That's all for now. Hope it helps!

Wednesday, July 24, 2013

Deploy printer drivers during ConfigMgr task sequence

Last week it was needed to install printer drivers on already deployed Windows 7 systems. Because driver packages can be used only during OS deployment (within a task sequence) that was not an option. Lucky me I found another way for doing this, just use the PnPutil command to do this. Let's have a look at the needed steps now!

Create a new software package (instead of a driver package) without a program, and per model. Add all the packages created to a task sequence, using the "Run command line" option. Put in a name, select the needed package (created before), select a account with enough permissions (because drivers cannot be installed with the system account afterwards), and add a command line:
cmd.exe /c PnPutil.exe -i -a  C:\_SMSTaskSequence\Packages\<PackageID>\*.inf


After that all .inf files available in the package will be scanned and needed drivers installed cq. injected in the Windows 7 driver store. In my opinion a very easy solution to install (printer) drivers on already installed systems. Hope it helps!

Source: danovich.com.au > Thanks for sharing!

Example for another way of installing printers:
RUNDLL32 PRINTUI.DLL,PrintUIEntry /ia /m "<Printer model>" /f "<INF path>\<INF filename>"

Wednesday, March 9, 2011

Advanced Driver Management in ConfigMgr 2007

With ConfigMgr advanced driver management is possible for all kind of devices. Best practice for this is creating driver packages for all different devices, and put them in the Task Sequence used for deployment. With WMI queries you can decide then which driver package will be used on different types of devices.

For more information about that see my other blog: Driver management in ConfigMgr 2007 http://henkhoogendoorn.blogspot.com/2010/10/driver-management-in-configmgr-2007.html

Now drivers are seperated in different driver packages, but what to do with the Drivers folder where all single drivers are placed? For all drivers imported there can be folders created, for dividing different drivers and hardware. Also specific Categories can be created for recognizing drivers and hardware by model. Do the following for that:


As you can see I've imported HP8000 drivers, which has been assigned to a new category. Press Next for importing this drivers in the ConfigMgr database.


All drivers are successfully imported in the ConfigMgr database. Now do it again for a new type device or model.


Now I've imported HP8100 drivers, which has also been assigned to a new category. Press Next again for importing this drivers in the ConfigMgr database.


This time (all) drivers will fail to import in the ConfigMgr database. Why is that? This because drivers can be already existing in the database. Default in ConfigMgr 2007 there can be only 1 instance per driver in the database!

But.. There is a hotfix available for solving that! (kb2213600)
http://support.microsoft.com/kb/2213600

With this hotfix drivers can be multiple times imported in different folders. So I install this hotfix in my environment, and do the same thing as before.


This time all drivers are indeed successfully imported in the ConfigMgr database. Let's have a moment now to look in the ConfigMgr console.


In the ConfigMgr console drivers are seperated now by device and hardware model. This way everyone can see to which device the drivers belongs!


When creating driver packages now, it's easy to see that the structure for driver management is the same in both Drivers and Driver packages. This way advanced driver management is created in the ConfigMgr console!

Once last thing: when deleting older drivers in the ConfigMgr console, this drivers will also be deleted from older folders from different models. To prevent this create an OLD folder, and move the old driver folders (model) beneath the OLD folder.

Also a collegue of mine (Stephan Wibier) has found that when a txt file exist in the driver source folder, this will not happen. Drivers that are the same for different models will then not deleted. This text file must exist in all folders and sub-folders then, for all drivers that are imported. This txt file has named in this example HP8000.txt for the HP8000 driver folders, and HP8100.txt for the HP8100 driver folders.

Hope you learned a lot this way about advanced driver management in ConfigMgr 2007!

Follow us on Twitter:
Henk Hoogendoorn (PQR) @henkhoogendoorn
Stephan Wibier (PQR) @stephanwibier

Thursday, October 14, 2010

Driver management in ConfigMgr 2007

One of the difficult things in deployment is getting all drivers to work. Best practice here is to remove the "auto-apply drivers" in the Task sequence, and put "add driver package" instead. Most of the time when i'm import drivers, i give them a tag-name for the model. In that way you can easely update or remove a model later. There is also an option for creating folders in it. Bad thing is you can't import a driver multiple times, so that's not a good idea after all. Also the search folder will be a good idea actually.. In that way the folders are query based, so you can seperate the drivers in different folders.


For getting the right driver package on a system, you must put a condition on the driver packages. The most implemented way is by model name of the systems. The command for getting that is by CMD.exe - WMIC /Node - CSProduct Get Name. The result for that command must be placed in the condition of the driver package. The rule for that is "SELECT * FROM Win32_ComputerSystem WHERE Model LIKE "%<MODEL>%" where %<MODEL>% must be replaced with the actual model name. Now you are ready for deploying many types of systems with different driver packages.


But what to do with drivers that are not installed after deployment? There are drivers that won't be installed on the system, whatever you do. For solving that look at the option for creating a software package. If there is a setup-file in that specific driver folder, you can do an unattended install, and put it in your Task sequence. Now you will see that every single driver will be installed. For boot images it's the best to work with the newest NIC drivers for getting it to work. Now you can truly enjoy the "one image" functionality!