Since the initial release of the Driver Automation Tool back in March, we have had numerous requests for additional features. While every request is difficult to cater for, there have been a number of repeated requests for additional manufacturers to be added. I’m glad to announce today that in version 3.1, the following new features and improvements have been made:

Whats New

  • Microsoft Surface Support
  • Acer Product Support
  • Distribution Point / Distribution Point Group Support
  • Dell x64 BIOS Flash Utility Support

Microsoft Technet Download Link – https://gallery.technet.microsoft.com/scriptcenter/Driver-Tool-Automate-9ddcc010

Microsoft Surface Support

This has been a highly sought after feature due to the update in the use of Surface / Surfacebook models in enterprise environments. Thanks to assistance from Microsoft engineer Carl Luberti, an initial XML was delivered to us with direct links to the surface downloads. A re-worked version of the XML now provides this functionality, and is presently hosted on our own server, Carl is hoping to publish this XML feed directly soon though.

Models Supported:

  • Surface3
  • SurfaceBook
  • SurfacePro3
  • SurfacePro4
  • SurfaceProStudio
Acer Support

Acer currently provide an extensive list of driver packs for their client products on their SCCM site (http://www.acer.com/sccm/).

Their driver package format uses a self extracting exe to extract and import drivers into SCCM, unfortunately Acer don’t appear to offer silent extracts, so in order to extract the drivers 7-zip must be installed on the system which the automation tool is run.

The script calls the 7z.exe command to silently extract the Acer drivers, hence the requirement. Should anyone from Acer wish to contact us please, drop us an email as we would like ultimately to remove the requirement for third party software. 

Distribution Point / Distribution Point Group Support

To aid in the full end to end automation process that we call Modern Driver Management, we have now included options to distribute the driver packages to either individual/multiple distribution points, or distribution point groups during the driver package creation process.

Dell x64 BIOS Flash Utility Support

Earlier on this year, Dell announced they had released a new utility which allowed for updating the BIOS during the 64bit WinPE environment. In order to take advantage of this, we have updated the script to download and extract the utility, and include it in BIOS update packages. The automatically generated PowerShell script now detects whether it is running in WinPE or not and applies the required switches, a switch has also been added for a BIOS password.

Improvements

Driver Package Storage Paths

To cater for those of you who want to maintain both driver packages and standard packages containing the drivers for the same model, we have updated the package path to include a sub-folder underneath the manufacturer folder, labelled “DriverPkg” and “StandardPkg”.

Launch Wrapper

If you are new to PowerShell this might be helpful for you, the update now includes a C# wrapper exe (courtesy of Nickolaj) which launches the script in a PowerShell window (execution policy is bypassed). Just launch the DriverDownloadTool.exe file from the same folder as the script.

Temp Location (XML, Log & HP Driver Extract)

Some of you had reported issues with the use of the user temp folder, due to restrictive GPO’s being enforced. In this build the folder used for downloading CAB’s and storing the log file has been relocated to a SCConfigMgr folder located within the folder which the script is stored / run.

Driver Automation Tool – In Action

Below is a video of the Driver Automation Tool running starting the process of downloading and packaging drivers for Acer, Dell, HP, Lenovo and Microsoft models. The driver packages are packaged as standard packages for use with our Modern Driver Management process;

After the entire process had completed, the SCCM console now has all the selected drivers available;

 

 

Driver Packages are also created;


MDT Import – Dell E5550 Example;

 

Dell BIOS Update PS Generated Script Example;

[CmdletBinding(SupportsShouldProcess = $true)]
param
(
[parameter(Mandatory = $false)]
[String]$Password
)
$WinPECheck = Test-Path -Path HKLM:\SYSTEM\ControlSet001\Control\MiniNT
$FlashUtility = "Flash64w.exe"
$CurrentBiosFile = "Latitude_E5x70_Precision_3510_1.12.6.exe"
if ($WinPECheck -eq $true)
{
$FlashSwitches = "/b=$CurrentBiosFile /s"
if ($Password -gt $null)
{
$FlashSwitches = $FlashSwitches + " /p=$Password"
}
Start-Process $FlashUtility -ArgumentList $FlashSwitches
}
else
{
$BIOSSwitches = " -noreboot -nopause"
if ($Password -gt $null)
{
$BIOSSwitches = $BIOSSwitches + " /p=$Password"
}
Start-Process $CurrentBIOSFile -ArgumentList $BIOSSwitches
}

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.

(3184)

comments
  • STRiCT
    Posted at 19:12 April 19, 2017
    STRiCT
    Reply
    Author

    GREAT TOOL! I think i found a bug when trying to download the 9020 drivers. How can i send you a screenshot?

    • Maurice Daly
      Posted at 20:35 April 19, 2017
      Maurice Daly
      Reply
      Author

      Hi,

      See my previous response and you should be good to go with the 9020.

      Maurice

  • STRiCT
    Posted at 20:37 April 19, 2017
    STRiCT
    Reply
    Author

    I apologize. I dont know what previous response you are referring too? I searched this page and your corresponding scriptcenter page for 9020 and dont see anything.

    • Maurice Daly
      Posted at 21:19 April 19, 2017
      Maurice Daly
      Reply
      Author

      If you download the script again, a wildcard has been removed which should resolve the issue.

  • STRiCT
    Posted at 21:43 April 19, 2017
    STRiCT
    Reply
    Author

    That did the trick, thanks! Is there a way run this tool in command line as a scheduled task?

    • Maurice Daly
      Posted at 22:22 April 19, 2017
      Maurice Daly
      Reply
      Author

      This script actually evolved out of being command line only, but the GUI got a much larger reaction and those unfamiliar with PowerShell found it easier to use.

      I had considered adding in a command line switch for it just recently. Watch this space..

  • richard smith
    Posted at 11:39 April 20, 2017
    richard smith
    Reply
    Author

    Glad to see you incorporated the surface pro 3/4 element of this. Happy bunny,.

  • Colby
    Posted at 22:40 April 20, 2017
    Colby
    Reply
    Author

    I love this product and I’m using it for MDT, however, I’ve run into an issue regarding the driver naming structure for Dell drivers. It puts the drivers with Dell as the Make name, but modern Dells use “Dell Inc.” for the %Make% variable and not “Dell” in setting task sequences. I’ve had to manually rename it to get it to work. Is this something that can be addressed, or should I go about this differently? I’m somewhat new to MDT.

    • Maurice Daly
      Posted at 10:05 April 24, 2017
      Maurice Daly
      Reply
      Author

      Hi Colby,

      The $Make variable uses a friendly version of the manufacturer name, such as Dell for Dell models, HP for Hewlett-Packard as opposed to the actual BIOS manufacturer. This is purely to provide a consistent list of available driver packages. If you are using the drivers with MDT you could simply add a WMI query on the driver package to check for the model, in that case the manufacturer is purely cosmetic.

      Maurice

  • Keith Morris
    Posted at 16:36 April 24, 2017
    Keith Morris
    Reply
    Author

    I used this last week to download Dell drivers and it worked great. I started using it today to import my Lenovo drivers and I’m getting an “SCCM: Downloading badLink driver cab file” , “SCCM: Downloading from URL:badLink” and “SCCM:Driver Revision: badLink” in the Job Process Log. The script is creating the folder structure in the repository path but the script completes so quickly and the cab files are not being downloaded.

    • Maurice Daly
      Posted at 23:27 April 24, 2017
      Maurice Daly
      Reply
      Author

      Hi Keith,

      Can you provide more details, i.e the model and OS used?. I have just selected the L450 Win 10 drivers for example and they have downloaded and packaged fine.

      Maurice

      • Keith Morris
        Posted at 13:06 May 4, 2017
        Keith Morris
        Reply
        Author

        I tried several Lenovo models for OS Windows 8.1 and they all failed. I was specifically interested in Lenovo M700TWR. As a test I tried the Windows 10 Lenovo M93p and it appears to be working just fine.

        • Maurice Daly
          Posted at 15:48 May 4, 2017
          Maurice Daly
          Reply
          Author

          Hi Keith,

          This issue has been resolved in version 3.4 which I am about to post.

          Maurice

  • Spencer M
    Posted at 20:23 April 25, 2017
    Spencer M
    Reply
    Author

    How do you implement the BIOS update scripts into your task sequences?

    Thanks for your help.

    • Maurice Daly
      Posted at 21:53 April 25, 2017
      Maurice Daly
      Reply
      Author

      Hi Spencer,

      You could use a legacy WMI query based method by simply adding a Run PowerShell Script step, select the BIOS package, then specify BIOSUpdate.ps1 as the filename, use the -Password switch for your BIOS password in the attributes section and then set the execution policy to Bypass. Apply a WMI filter to each of the BIOS packages to ensure that the correct package is selected and applied.

      However, I’ll post up a new PowerShell script later this week or early next week which will again work in conjunction with the web service to determine the correct BIOS package automatically and download / apply it.

      Maurice

  • Fredrik
    Posted at 10:50 April 27, 2017
    Fredrik
    Reply
    Author

    Hi,

    Nice tool, would love to se support for Fujitsu models.

    • Maurice Daly
      Posted at 10:55 April 27, 2017
      Maurice Daly
      Reply
      Author

      Hi Fredrik,

      I have tried reaching out to Fujitsu so see if we can do something on this but they have yet to respond.

      Maurice

      • Fredrik
        Posted at 12:16 April 27, 2017
        Fredrik
        Reply
        Author

        Hi,

        To bad, hopefully they will respond in the future.

        Fredrik

  • Keith
    Posted at 19:05 April 27, 2017
    Keith
    Reply
    Author

    I’m sure you get alot of requests but i was wondering if there was a plan or intrest in adding Lenovo Bios updates to the tool in future releases? Much thanks on what you guys are doing and have done so far for everyone.

    • Maurice Daly
      Posted at 21:32 April 27, 2017
      Maurice Daly
      Reply
      Author

      Hi Keith

      My contact in Lenovo was in touch and BIOS download links are now in the XML. I’ll have this added in over the next few days.

      Maurice

  • Brian
    Posted at 00:34 May 11, 2017
    Brian
    Reply
    Author

    Maurice,
    I was able to download all my models except one, our main one of course. I get the error: “SCCM: File Download Failed” when trying to download the Dell Precision 7710 Windows 10 64 bit drivers.

    • Maurice Daly
      Posted at 13:12 May 11, 2017
      Maurice Daly
      Reply
      Author

      Hi Brian,

      I have just tried it with no issue. Try restarting the BITS service and try again.

      Maurice

  • Leave a Reply