An interesting scenario occurred where an isolated MECM environment required driver updates. Normally a driver update would be easy utilizing DELL Command and Third-party Catalog, but in this case the environment has no internet access and has network segregation. This means, everything is manual…

Dell Driver Package Download

NOTE: Depending on the version, older driver packages will be a .CAB and newer ones will be a .EXE

  • Extract the .exe using something like 7zip or the following command:
    • /s /e="%ExportDirectory%"
  • Create an Import.ps1 file with the following code.

This will install all .inf files located in the current directory and all sub directories.

Script Breakdown

Log File

The script will create a log file:

  • $logFilePath: C:\Windows\Temp
  • Log file name: Import-DriverUpdates.log (this can be changed to whatever you like)
Driver Update PNPUTIL logs

Registry Detection Method

At the end of the script, if successful it will create the bellow two registry keys.

  • Success – This is used for the MECM conditions if the drivers imported successfully or not.
  • $driverPackageVersion – This is used to record the last driver package version installed. (Make sure you update this in the variable)
Driver Update Registry Detection Method

Create MECM/SCCM Application

  • Lauch MECM console
  • Navigate to Software Library > Application Management > Applications.
  • Click Create Application
  • Select Manually specify the application information and click Next.
  • Enter the name for your driver application and any additional information you see fit. Click Next.
  • Enter Software Center information and click Next.
  • Select Standard program so we can execute the install.bat we created and click Next.
  • Select Add a deployment type.
  • Select Script Installer and click Next.
  • Type in the package version for the Name and click Next.
  • Set the Content location to your remote location where you stored your driver package and script.
  • Command line:
    powershell.exe -ExecutionPolicy Bypass -File .\Import-DriverUpdates.ps1
  • Click Next
  • Click Add Clause to add a new detection method.
  • Set the following conditions.
    • Setting Type: Registry
    • Hive: HKEY_LOCAL_MACHINE
    • Key: SOFTWARE\DriverUpgrade
    • Value: Success
    • Data Type: Integer
    • Value: 1
  • Create another clause with the following conditions
    • Setting Type: Registry
    • Hive: HKEY_LOCAL_MACHINE
    • Key: SOFTWARE\DriverUpgrade
    • Value: Driver Package Version
    • Data Type: String
    • Value: %Your Driver Version Here%

You should now have both conditions set for detection. Click Next.

  • Set the following
    • Installation behaviour: Install for system
    • Logon requirement: Whether or not user is logged on
    • Installation program visibility: Hidden
    • Maximum allowed run time: 20min
    • Estimated installation time: 5min
  • Set any requirements and dependencies if required in your environment.
  • Finish the Wizard.

At this point you can deploy this to a computer collection as Available or Required and it will install silently.

Bonus

As a little bonus! You can also run the driver update outside of MECM or use this with Microsoft Intune as a Win32 App.