Driver Automation Tool - Automate Driver Downloads & Packaging for SCCM/MDT

The script generates a PowerShell GUI to automate the processes of downloading, extracting and importing driver packages for Dell, Lenovo, HP and Microsoft systems.

 
 
 
 
 
4.9 Star
(119)
48,941 times
Add to favorites
System Center
3/18/2020
E-mail Twitter del.icio.us Digg Facebook
  • Can't get HP drivers anymore
    1 Posts | Last post March 13, 2020
    • 
      Ever since 6.4.4 when i try to download the HP model I get and error that "the operation being requested was not performed because the user has not logged on to the network"
  • Lenovo driver downloads are broken - cannot download despite there being a valid download available.
    1 Posts | Last post March 10, 2020
    • If I select M75Q-1 from the list and download, I find the following error in the log:
      
      ========Processing Lenovo ThinkCentre M75q-1 Downloads ========
      Info: Windows 10 build lookup required
      Info: Windows 10 build 10.0.18363.1 and version 1909 identified for driver match
      Info: Starting Download, extract and import processes for Lenovo model: ThinkCentre M75q-1
      Info: Setting Lenovo variables
      Info: Lenovo ThinkCentre M75q-1 matching model type: 11A7
      Info: Looking Up Lenovo ThinkCentre M75q-1 URL For Windows version win10
      Info: Searching for Lenovo ThinkCentre M75q-1 exe file on https://support.lenovo.com/downloads/ds541895
      Info: Passing through Windows version as 10
      Info: Passing through Windows architecture as x64
      Info: Invoking Internet Explorer to parse Lenovo site - https://support.lenovo.com/downloads/ds541895
      Info: Building links list from HTML source
      Info: Matching unique download links based on selected OS and architecture
       ======== Errors(s) Occurred ========
      
      
      If I browse the URL mentioned in the log, I see a downloadable file that I can download manually with a browser.  The file in question is tc_m75q-1_win1064_1909_202001.exe
      
  • The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
    1 Posts | Last post March 10, 2020
    • All of a sudden I cannot load any Lenovo models. I downloaded the latest version of the tool (6.4.5 as of the time of this comment) after reading some changes were made, however still no luck. Dell models load as expected with no errors. Here is what my process log shows. I noticed that the 'underlying connection was closed' error only occurs when finding Lenovo models.
      
      ======== Querying Model List(s) ========
      ======== Errors(s) Occurred ========
      Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.	
      Info: Reading driver pack URL - https://download.lenovo.com/cdrt/td/catalog.xml	
      Warning: No Lenovo models found. If you are using a proxy server please specify the proxy in the Proxy Server Settings tab.
      
      ======== Querying Model List(s) ========	
      Info: Downloading Dell product list
      Info: Downloading Dell product cabinet file from https://downloads.dell.com/catalog/DriverPackCatalog.cab
      Info: Expanding Dell driver pack cabinet file: DriverPackCatalog.xml	
      Info: Found 214 Dell model driver packs for Windows 10 64 bit
      
      
  • Folder already exists error
    1 Posts | Last post March 09, 2020
    • Hi, first let me say, awesome tool. My issue is that I keep getting a folder already exists error, then it does not extract the drivers. Luckily, it at least downloads the CAB file. What can I do to address this issue? Thanks again for the hard work
  • No Packages returned
    1 Posts | Last post March 06, 2020
    • When I am trying to query the web service for current packages it tells me there are none and to check if the secret key is correct. It is, and the packages are listed in the ConfigMgr Package Mgmt tab, just not in the webservice area. Any ideas?
  • Error: Access is denied. DriverAutomationTool 5/03/2020 4:20:09 PM
    2 Posts | Last post March 05, 2020
    • Hi,
      
      I am trying to implement Driver automation tool but unable to do so. Can you please let me know why am I getting Access Denied error when downloading the drivers?
      ======== Starting Download Processes ========	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Models selected: Lenovo ThinkPad L580 Lenovo ThinkPad L490	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Operating System specified: Windows 10	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Operating System architecture specified: x64	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Site Code specified: S01	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Download Path specified: \\sec-nas-01\SCCM\Source\Drivers\Source\Lenovo	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Package Path specified: \\sec-nas-01\SCCM\Source\Drivers\Store\Lenovo	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      ======== Processing Lenovo ThinkPad L580 Downloads ========	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Starting Download, extract and import processes for Lenovo model: ThinkPad L580	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Setting Lenovo variables	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Lenovo ThinkPad L580 matching model type: 20LX	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Looking Up Lenovo ThinkPad L580 URL For Windows version win10	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      Info: Searching for Lenovo ThinkPad L580 exe file on https://support.lenovo.com/downloads/ds502444	DriverAutomationTool	5/03/2020 4:19:53 PM	114900 (0x1C0D4)
      
    • ======== Errors(s) Occurred ========	DriverAutomationTool	5/03/2020 4:19:58 PM	114900 (0x1C0D4)
      Error: Access is denied.
      	DriverAutomationTool	5/03/2020 4:19:58 PM	114900 (0x1C0D4)
       	DriverAutomationTool	5/03/2020 4:19:58 PM	114900 (0x1C0D4)
      ======== Errors(s) Occurred ========	DriverAutomationTool	5/03/2020 4:19:58 PM	114900 (0x1C0D4)
      Error: Unable to find driver for Lenovo ThinkPad L580	DriverAutomationTool	5/03/2020 4:19:58 PM	114900 (0x1C0D4)
       	DriverAutomationTool	5/03/2020 4:19:58 PM	114900 (0x1C0D4)
      Info: Using Configuration Manager console BIOS package folder - S01:\Package\BIOS Packages\Lenovo	DriverAutomationTool	5/03/2020 4:20:05 PM	114900 (0x1C0D4)
      Info: Using Configuration Manager console Driver package folder - S01:\Package\Driver Packages\Lenovo	DriverAutomationTool	5/03/2020 4:20:05 PM	114900 (0x1C0D4)
      Info: Remaining models to process: 1	DriverAutomationTool	5/03/2020 4:20:05 PM	114900 (0x1C0D4)
      ======== Processing Lenovo ThinkPad L490 Downloads ========	DriverAutomationTool	5/03/2020 4:20:05 PM	114900 (0x1C0D4)
      
  • Keep downloaded models up-to date
    1 Posts | Last post March 04, 2020
    • Quick question,
      What is the best way to keep driver models which have already been downloaded using the tool updated, without having to go back into the tool and tick each one again? 
      
      This would be in the scenario where HP/Microsoft release an updated driver pack for a driver/OS Version which we have already downloaded.
      
      I understand the tool can be run on a schedule, but I can't unsertand exactly what this downloads? Does it look at models already done and check for updates, or does it download driver packs for everything in the model list?
      
      Any assistance on this is much appreciated.
  • Unable to choose Dell when selecting a specific version of Windows 10
    4 Posts | Last post March 01, 2020
    • We're looking into replacing our current driver deployment with your Driver Automation Tool and Modern Driver Management.
      
      Since we're not always running the latest branch of Windows 10 we normally download the driver packs from Dell and Microsoft (the only 2 manufacturers we use) that are approved for the Windows 10 branch we're running.
      
      However when I choose any specific version of Windows 10, I'm unable to check Dell as manufacturer. Is this related to the way that Dell makes their drivers accessible on their website, that prevents your tool from downloading version specific driver packs except from downloading and extracting the drivers manually and let your tools handle the rest?
      
    • Dell does not tag their driver packages with Windows version. Select only "Windows 10" to get Dell drivers. For HP for example, you must select what version to get drivers to.
    • Hi David and thank you for your answer.
      
      You're right that Dell doesn't tag the driver packs with Windows version numbers but some of their models (e.g. the 7540) does have different driver packs all depending on the Windows 10 version being used, according to this link:
      
      https://www.dell.com/support/article/dk/da/dkbsdt1/how13322/dell-family-driver-packs?lang=en
      
      Here you can see that if you run 1803 you should use the A03 version of the driver pack and if you're >1803 you should use the A05 version.
      
      
      Since we're still on 1803, for the time being, would the best solution in this case then be to handle this specific laptop model manually and use the tool for all those models where the driver pack is the same no matter if you run 1803 or 1909 or is there a different solution that I'm overlooking?
      
      Regards,
      Martin
    • Hi Martin
      
      Dell's approach here is that the latest driver package supports the latest releases of Windows 10. With that in mind it's difficult to maintain a dynamic approach given compatibility for the builds isn't expressly presented in their XML feeds from what I can see.
      
      Given this is going to be about testing, but also pushing your WaaS  model internally to ensure your hardware is both supported by MS and the OEM at all times. 
  • Scheduled Tasks
    3 Posts | Last post February 28, 2020
    • I have tried with several version of the script but each time I try to run the scheduler I get:
      
      attempting to read C:\Program Files\SCConfigMgr\Driver Automation Tool\Settings\DATSettings.xml
      System.Xml.XmlDocument
      === SCConfigMgr Download Automation Tool - Silent Running ===
      1. Updating model list based on models found within the XML settings file
      Microsoft (R) File Expansion Utility
      Copyright (c) Microsoft Corporation. All rights reserved.
      
      Adding C:\Program Files\SCConfigMgr\Driver Automation Tool\Temp\DriverPackCatalog.xml to Extraction Queue
      
      Expanding Files ....
      
      Expanding Files Complete ...
      2. Starting download and packaging phase
      Test-Path : Cannot bind argument to parameter 'Path' because it is null.
      At C:\Program Files\SCConfigMgr\Driver Automation Tool\Run-DriverAutomationToolSvc.ps1:877 char:23
      +     if ((Test-Path -Path $global:RepositoryPath) -eq $true)
      +                          ~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : InvalidData: (:) [Test-Path], ParentContainsErrorRecordException
          + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.TestPathCom
         mand
      
      
      Line 877 is checking for : if ((Test-Path -Path $global:RepositoryPath) -eq $true)
      
      I have checked my DATSettings.xml but I cannot find a RepositoryPath variable
      
      I have my download path and package path set...I see this NOTe in the script:
      NOTE: Configuration Manager jobs require a seperate storage location to be specified for the end packages. This should be configured on the ConfigMgr Settings section.
      
      These are my settings: https://i.imgur.com/nKSySuG.png
      
      What am missing?
      
    • Hello Thomas, I run into the same problem as you.
      I changed the line 799 from $global:RepositoryPath = "$Global:DATSettingsXML.Settings.StorageSettings.Repository" to "$global:RepositoryPath = $Global:DATSettingsXML.Settings.StorageSettings.Download". But I ran into unother problem now. Which is : 
      "You cannot call a method on a null-valued expression.
      At C:\Program Files\SCConfigMgr\Driver Automation Tool\Run-DriverAutomationToolSvc.ps1:1174 char:5
      + ...             $DriverPackageDir = $DriverCab.Substring(0, $DriverCab.le ...
      +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : InvalidOperation: (:) [], ParentContainsErrorRecordException
          + FullyQualifiedErrorId : InvokeMethodOnNull"
    • Hi Again,
      I figured out what was going on (for my problem). I want to download the Dell Drivers.
      But in the XML file, in the models selected there was just the name of the model, not the constructor, like "Optiplex 7050", or "Latitude E7450". But the Run-AutomationDriverTool.ps1 reads each of the entries and set the variable $make to the constructor of the machine, with the beginning of the line of the model. So for example, if you take the first word of "Optiplex 7050", it's "Optiplex". So it wasn't working. I modified the DatSettings.xml files by adding Dell prior to each of the models name, and the script seems to work. So now in my models I have "Dell Optiplex 7050", "Dell Latitude E7450", etc. Maybe it can help you. Now I need to figure out how I can make the task to run correctly in the task scheduler.
      
  • Set-Location fails
    2 Posts | Last post February 28, 2020
    • I'm getting a lot of errors after upgrading to 6.4.4
      
      "Set-Location : Cannot find path 'C:\Program Files\SCConfigMgr\Driver Automation Tool\:' because it does not exist."
      
      Why is there a : at the end of the path?
    • I don't know why, but the tool had auto detected a management point as site server, and not the site server. After changing this the errors regarding the Set-Location stopped.
1 - 10 of 632 Items