Enterprise-grade automation for downloading, extracting, and packaging OEM driver and BIOS update packages for ConfigMgr and Intune.
Website · Setup Guide · Reports
A free community tool — created by Maurice Daly
The Driver Automation Tool is a PowerShell WPF desktop application that automates the full lifecycle of OEM driver and BIOS package management — from catalog discovery and download through extraction, WIM packaging, and deployment to Configuration Manager or Microsoft Intune.
| OEM | Drivers | BIOS Updates |
|---|---|---|
| HP | ✅ | ✅ |
| Dell | ✅ | ✅ |
| Lenovo | ✅ | ✅ |
| Microsoft Surface | ✅ | — |
| Acer | ✅ | ✅ |
- Automated Driver Downloads — Accelerated downloads via
curl.exewith HTTP resume support, configurable retry logic (10 retries, 60s delay), and automatic hash verification - Multi-OEM Support — Full support for HP, Dell, Lenovo, Microsoft Surface, and Acer with automatic catalog discovery
- BIOS Update Management — Version comparison, release classification (Recommended/Critical), minimum version validation, and hash verification
- WIM Packaging — Create WIM packages using DISM (built-in), wimlib (multi-threaded), or 7-Zip (recommended) with configurable compression
- ConfigMgr Integration — Automatic package creation, content distribution to DPs, WinRM/WMI connectivity, and deployment state tracking
- Intune Integration — Device code or app registration auth, chunked Azure Blob uploads, parallel threading, and Win32 app packaging
| Platform | Description |
|---|---|
| Configuration Manager | Download → Extract → Create WIM → Create ConfigMgr package → Distribute to DPs |
| Microsoft Intune | Download → Extract → Create WIM → Wrap as .intunewin → Upload and create Win32 app |
| WIM Package Only | Download → Extract → Create WIM file only (no deployment) |
| Download Only | Download and extract packages without any WIM packaging or deployment |
Download the latest release from this repository. The tool is a portable PowerShell application with no installer required.
Extract the downloaded ZIP to a permanent location on your local machine:
C:\DriverAutomationTool
Important: Ensure the extracted folder is not blocked by Windows. Right-click the ZIP file before extracting, go to Properties, and check "Unblock" if present.
Open PowerShell as Administrator and run:
cd C:\DriverAutomationTool
.\Start-DriverAutomationTool.ps1
# Or launch with dark theme
.\Start-DriverAutomationTool.ps1 -Theme DarkIf you see an execution policy error:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope ProcessOn first launch, review and accept the End User License Agreement.
Set your storage paths, select your deployment platform, and configure proxy settings if needed. See the Setup Guide for detailed configuration instructions.
Connect to your ConfigMgr site server via WinRM/WMI for automated package creation and content distribution.
| Setting | Description |
|---|---|
| Site Server FQDN | Fully qualified domain name of your ConfigMgr site server |
| WinRM SSL | Enable SSL/TLS encryption for WinRM communications |
| Known Model Lookup | Query hardware inventory to highlight models in your environment |
| Replication Priority | Set content distribution priority (High / Normal / Low) |
| Binary Differential Replication | Transmit only changed binary blocks to reduce bandwidth |
ConfigMgr package management view
Distribution point configuration
Three authentication methods are supported for connecting to Intune via the Microsoft Graph API:
| Method | Description |
|---|---|
| Interactive (Browser) | Browser-based sign-in with full MFA and Conditional Access support (Recommended) |
| Interactive (Device Code) | Device code flow for restricted environments |
| App Registration | Tenant ID, App ID, and Client Secret for automated/scheduled runs |
Required Graph API Permissions (Application):
DeviceManagementApps.ReadWrite.AllDeviceManagementManagedDevices.Read.AllGroupMember.Read.All
Intune authentication method selection
Package upload and deployment options
Assign packages directly to Entra ID groups from the Package Management section. Right-click any package to access assignment options — deploy as Required (automatic) or Available (user-initiated from Company Portal).
Right-click to assign packages to Entra ID groups
For environments requiring BIOS passwords for firmware updates, the tool encrypts passwords using DPAPI with machine-scope protection and embeds them in detection/remediation scripts for Intune deployments. HP devices also support BIN files generated by HP BIOS Configuration Utility (BCU).
Once published, packages deploy through the Intune Company Portal with toast notifications at every stage:
Company Portal install flow with toast notification prompts
Fully customisable Windows toast notifications keep end users informed — from pending updates through to successful completion. Replace the default branding with your own logo and messaging.
Custom branding and messaging configuration
Three engines are supported for WIM creation:
| Engine | Description | Benchmark (~2551 MB) |
|---|---|---|
| DISM | Built-in Windows engine, single-threaded | ~3m 51s |
| wimlib | Multi-threaded third-party engine | ~2m 53s |
| 7-Zip ✅ | High-performance multi-threaded (Recommended) | ~36s |
Estimates based on benchmark testing — actual times will vary based on hardware.
| Level | Description |
|---|---|
| Fast (XPRESS) | Fastest creation speed, moderate file size (Default) |
| Maximum (LZX) | Slower creation, smallest file size |
| None | Uncompressed — fastest creation, largest file size |
Common settings — General options
| Setting | Description |
|---|---|
| Proxy | System default, manual host:port, or bypass |
| CURL Engine | Bundled or system curl.exe with signature validation |
| Temporary Storage | Local path for downloads, extraction, and WIM staging |
| Package Storage | Final output path for WIM and .intunewin packages (supports UNC) |
| Config Export/Import | Backup and restore all settings via .reg file |
| Telemetry | Opt-in anonymous telemetry — only package counts and model data, no PII |
Create custom driver packages from the drivers installed on the current system (via PNPUtil) or from a local folder of INF files — ideal for devices not covered by OEM catalogs.
Custom Driver Pack creation interface
Supplement OEM packages with additional drivers by right-clicking a model in Package Management and selecting Add Custom Drivers. Useful for missing or outdated drivers in standard OEM packages.
Add Custom Drivers via right-click context menu
All operations are logged in CMTrace-compatible XML format with a built-in log viewer and real-time activity display.
| Feature | Description |
|---|---|
| Log Format | CMTrace-compatible XML — readable in ConfigMgr Trace Log Tool |
| Log Location | <AppRoot>\Logs\DriverAutomationTool.log |
| Severity Levels | Information, Warning, Error — color-coded in CMTrace |
| Auto-Rotation | Rotates at 1 MB with 5 archived copies retained |
| Activity Log | Real-time in-app display during builds (60,000 char buffer) |
Built-in log viewer and activity log
The tool supports both light and dark themes with instant runtime switching.
- OS: Windows 11 / Windows 10 / Windows Server 2016+
- Architecture: x64, Arm64
- PowerShell: Windows PowerShell 5.1+
- Privileges: Administrator (for registry access and DISM operations)
This tool is provided as-is, without warranty of any kind. Use is entirely at your own risk. See the LICENSE file for details.
If you find this tool useful and would like to support its continued development, please use the Sponsor button at the top of this page.












