Find and update all windows drivers silently from a network share

driverswindows 7

I have a network share with extracted drivers (from Dell) (with .inf files). Is there a script or program which will find and update all computer drivers from a network share (no splashy UI's, no progress bars etc..) for 500+ computers periodically? I'm aware that I can do it one at a time using something like:

rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 path\to\file.inf

But that means I need to know that this specific computer of this specific model needs updating. I know "windows update" has this ability for more generic drivers.

Best Answer

There are lots of software packages that install software and run scripts remotely. I'm thinking of things like:

  1. Group Policy (if you have 500+ computers, you may be in a domain, yes?)
  2. Management software (I'm thinking LANdesk, Altiris Deployment Solution, etc.)
  3. PsExec and a list of machines.

Altiris, and probably LANdesk, will let you search by the machine model, so there's that. Schedule a job based on machine model that throws driver updates.

For the other two, you would need to detect the machine model scriptomatically. (If you wanted to download drivers direct from Dell you could maybe use something like the Dell Driver Update Tool instead.) You can do this with PowerShell using

Get-WMIObject -class Win32_ComputerSystem | Select-Object Manufacturer, Model

You could then write some conditional logic based on this--perhaps subscripts in the share that hosts the drivers?--and run this script as an group policy or PsExec script. (Group Policy would be a lot nicer.)

For PsExec, put the PowerShell script on the share with the drivers, get a list of computers, and write a script that's basically:

PsExec @computerlist powershell \\path\to\yourscript.ps1

Or a PowerShell equivalent. Run this as an account that's an admin on all the machines and has access to the share.

Good luck! I hope that helps.