Let’s say that you have lots of different Lenovo model types in your environment. That usually means that lots of different drivers has to be imported in SCCM. That is quite a lot of work to do. You have to download the drivers from Lenovo support site, extract them and import them in SCCM. This process is just calling for some kind of automation. I this blog I would like to present a way to automate driver management using Lenovo Think VantageUpdate Retriever and some VBS scripting.
ThinkVantage Update Retriever is a tool, that automates the download step of the process. You can get this tool at: Lenovo support site. With Update Retriever you can download all available drivers for all your model types. Everything you need to do is to specify model types that you want to download drivers for. Update Retriever will then check the on-line repository to determine which updates are available for your model types. At the next step you can hide the unnecessary updates (so they will not be displayed next time) and select updates that will be actually downloaded to the local repository.
Luckily, Update Retriever creates a XML files, containing very usual information about each update, in the local repository. There is a “ExtractCommand” node in the XML which contains command line that needs to be run to extract the package. Model type information is also stored in the XML file. Based on this information I was able to write a script that automatically extract the packages. You can control to which folder will packages be extracted. Packages that doesn’t contain actual driver files (INF files) will be moved to another folder, for you to analyze later. The script will import all drivers (INF files) in each package into SCCM driver repository. Driver categories based on model type will also be added to each imported driver so you can filter driver availability, based on actual computer model, in the “Auto apply drivers” task sequence step. It is possible, that driver that the script tries to import, already exists in the SCCM repository. In that case new categories will be added to the existing driver. All of the imported drivers will automatically be added to a driver package you specified. However the driver package will not be automatically updated on distribution points, so don’t forget to do this manually after the script is done or you can modify the script to do that for you.
In order for script to work, you have to enter the right parameters in the configuration file called configuration.xml in the same directory that the script is placed. I’ve included sample configuration file in the ZIP archive, for you to understand what needs to be done. Run the script with cscript.exe, because of script’s output which is shown during process, for you to see the progress. There is also an LOG file available, so you can examine the whole process later.
I’m using this approach in our production SCCM SP2 R2 environment and I can confirm that is working very well. ZIP archive, containing the script and a sample configuration file, is available for download here. Please use it at your own risk. You can post any bugs or suggestions here.