DeployEverything HP Driver Download Automation Tool

Following on from the release of the Dell Driver Automation Tool in January, I had a lot of requests for a version for other manufacturers including HP and Lenovo. So here is a heavily modified version of the tool for HP hardware.

When updating the tool I changed a lot of the functions of the GUI, partly due to the fact that HP driver packages are bundled into 7×5 Gx formats but also due to the fact that I had no HP hardware to pull down using an the previous SCCM query. So I have removed the tabbed sections for models and MDT and replaced it with a single tab with a model listing determined by your OS selection, matching available driver packages within the HP driver XML.

The script works by downloading the HP SCCM Driver Cabinet, extracting the XML, reading in the XML and doing some other bits in the background to display the full list of HP driver packages in an easy to read format. So summarise it does the following;

The tool automates the following processes;

  1. Downloads the HP SCCM Driver Pack Cabinet
  2. Extracts the contained XML and reads in the file
  3. Displays HP Driver Packages based on the OS selection within the GUI
  4. Creates Folders For Each Model
  5. Downloads the selected model SoftPaq’s
  6. Extracts the SoftPaqs
  7. Imports the SoftPaqs into SCCM, MDT or Both
  8. Create a Category based on the machine model
  9. Create a Driver Package based on the machine model and OS
  10. Imports the associated drivers into the newly created Driver Package

The job progress log window will automatically scroll at each step of the process and provide feedback.


Job Importing Drivers into both MDT and SCCM
Job Importing Drivers into MDT

Microsoft Script Library Link –https://gallery.technet.microsoft.com/HP-Driver-Automation-Tool-4a14b9cc

How To Run The Script

Launch the script from an administrative PowerShell window using an account with rights to your SCCM site server (if using the SCCM query option).

Enter the name of your SCCM site server and click “Connect to SCCM” if you wish to run an SCCM enabled import job, otherwise select MDT. The list of HP models will auto populate and then select your OS before selecting the model / model family driver packages you require.

Things To Note

  1. Import driver jobs can take considerable time, this is the same for OEM tools but something to be aware of as the GUI remains static during this process at present. If you are downloading drivers for multiple models you might wish to run this overnight.
  2. The HP version only downloads driver packages at this stage. I am looking to follow up with BIOS downloads in a later version.

Change Log

Version 1.0 – Initial release
Version 1.1 – Added Proxy Server Settings. The fields must be filled in, however the system will attempt to use the system proxy settings and default account / NTLM auth before falling back to the credentials entered.

Screenshots

Importing INF Drivers into SCCM
Driver Repository Packages
HP Driver Packages Created
SCCM : HP EliteBook 1030 G1 Driver Pack Contents
MDT: HP EliteBook 1030 G1 Driver Pack Contents

 

Maurice Daly
Maurice has been working in the IT industry since 1999 and was awarded his first MVP Enterprise Mobility award in 2017. Technology focus includes Active Directory, Group Policy, Hyper-V, Windows Deployment (SCCM & MDT) and Office 365.

(3053)

comments
  • Evan
    Posted at 15:50 February 3, 2017
    Evan
    Reply
    Author

    This seems like it’d work great, but I think the proxy is preventing me from grabbing any files, like you mentioned. It definitely would be great if it could be included.

    • Maurice Daly
      Posted at 15:54 February 3, 2017
      Maurice Daly
      Reply
      Author

      I’ll get some time in next week to test it through a proxy and update the code as required. It’s on my list!.

  • jon klimek
    Posted at 19:56 February 3, 2017
    jon klimek
    Reply
    Author

    Third attempt at a reply here… apologies

    This tool looks amazing! I’m having a problem when I connect to the Site Server it’s saying “SCCM PowerShell Module Not Found”. Is there something else I need to have installed on my client or the site server?

    • Maurice Daly
      Posted at 23:00 February 3, 2017
      Maurice Daly
      Reply
      Author

      Hi Jon,

      The only thing you need installed is the SCCM Console on the machine you are using and Powershell v4.0 upwards is recommended. The script was built and tested with SCCM CB 1610 but should work with 2012 upwards.

      Maurice

  • Anthon Hassel
    Posted at 21:30 February 3, 2017
    Anthon Hassel
    Reply
    Author

    Awesome work, goona try it on monday! Thank you very much!

  • Stuart
    Posted at 15:23 February 6, 2017
    Stuart
    Reply
    Author

    I noticed it isn’t a complete listing once you choose your os and platform. HP have win10 drivers for the 705 g1, but they are not listed in the tool; there are several others missing.

    • Maurice Daly
      Posted at 16:35 February 6, 2017
      Maurice Daly
      Reply
      Author

      Hi Stuart,

      I understand where you are coming from with that comment, however the models lists are obtained from reading in an XML file obtained from HP with a list of models for which an SCCM driver package is available to download.

      For instance in your example you have given the EliteDesk 705G1 which indeed does have drivers available from http://h20566.www2.hp.com/hpsc/swd/public/readIndex?sp4ts.oid=7150465&swLangOid=8&swEnvOid=4192. If however you look at a list of available SCCM package drivers for the same model on http://ftp.hp.com/pub/caps-softpaq/cmit/HP_Driverpack_Matrix_x64.html, you will see that a driver package for Windows 10 only exists for the G2 and G3 of that model range.

      Unfortunately I have had this personally too in the past whereby a particular range of laptop only provided driver packages in a later generation, in that instance it is really up to you browsing the vendors site to download manual lists of drivers or use an OEM tool to download drivers directly from sections of their website.

      Maurice

      • Stuart
        Posted at 17:25 February 6, 2017
        Stuart
        Reply
        Author

        Thanks Maurice, it’s an epic piece of work, just crippled by the HP Driver organisation which as we all know is shocking. No worries, I’ll plough through with the Softpaq Download Manager.

  • mattski
    Posted at 18:40 February 7, 2017
    mattski
    Reply
    Author

    Very cool app. Why don’t you add another drop down list to pull different sources so that you can manage all manufacturers?

    • Maurice Daly
      Posted at 20:28 February 7, 2017
      Maurice Daly
      Reply
      Author

      The Uber version might be under development.. a single pane of glass for all your driver downloads.

  • John
    Posted at 20:07 February 7, 2017
    John
    Reply
    Author

    I didn’t see it mentioned in the notes, but does this tool dedupe?

    • Maurice Daly
      Posted at 09:15 February 8, 2017
      Maurice Daly
      Reply
      Author

      Hi John,

      No form of dedupe is used. To reduce driver size requirements on your DP’s I did think of using family driver packs, however these tend not to be updated as often as individual model packs hence I opted for this.

      Maurice

  • Scott Conklin
    Posted at 21:24 February 11, 2017
    Scott Conklin
    Reply
    Author

    Hello. I’m trying to run the script, but when I launch it I get the following error:

    You must provide a value expression on the right-hand side of the ‘-‘ operator.
    At C:Users******DownloadsHPAutoDownloadGUI.ps1:768 char:20
    + if ($Model – <<<< notin $HPProducts)
    + CategoryInfo : ParserError: (:) [], ParseException
    + FullyQualifiedErrorId : ExpectedValueExpression

    I tired looking around line 768 in the script to see if I could figure out what it's not liking, but I'm stumped. Any ideas? Any help would be much appreciated. Thank you.

    • Maurice Daly
      Posted at 21:45 February 11, 2017
      Maurice Daly
      Reply
      Author

      HI Scott by the sounds of it you are using an old version of PowerShell. Can you confirm which version you are using?.

      • Scott Conklin
        Posted at 19:45 February 18, 2017
        Scott Conklin
        Reply
        Author

        Thanks for the quick reply, Maurice. I didn’t get a notice so I just now saw it. Yes, you were right. I was running the default Windows 7 version of PowerShell (2.x). I updated to 4.0 PowerShell and it runs like a charm! Thanks for building the script! It makes driver management for new model computers a 1000 time easier!

  • Leave a Reply