Update-OSDeployCoreDrivers
Download and prepare WinPE driver packages for OSDeploy Core boot images.
Update-OSDeployCoreDrivers prepares the network and storage drivers that Build-OSDeployBoot can inject into boot images. It discovers the latest packages from each requested source, downloads the archives, and expands them into versioned folders in the OSDeploy Core library.
A valid Recast Software license is required when the command is called directly. If no valid license is found, the command displays license guidance and returns. The immediate call from Invoke-OSDeployHydration is the only license-gate exception.
All matching packages are processed automatically. The command does not display a package picker or ask for confirmation unless -Confirm is specified.

Requirements
Run this command from an elevated PowerShell 7.6 or later session on Windows 11 25H2 build 26200 or later. PowerShell must be installed from the MSI package, and curl.exe must be available in PATH. Dynamic sources require access to their vendor metadata endpoints; uncached packages require access to their download URLs.
The command stops before driver processing when a Windows version, PowerShell, MSI installation, curl.exe, or administrator check fails. A failure for one catalog source or package is otherwise reported and processing continues with the remaining entries.
Parameters
-Name
String[]
Automatic
Positional parameter 0. Omission refreshes every configured source with an update or download URI, then processes every enabled resolved package. Tab completion suggests enabled refreshable sources. Unknown or nonrefreshable values are warned and skipped.
-Force
Switch
Not enabled
Re-downloads matching package archives instead of reusing a valid cache file. The catalog helper accepts this switch but does not change discovery behavior. Existing nonempty Dell, HP, and Intel expanded folders are still reused.
-SkipWifiDrivers
Switch
Not enabled
Excludes package names containing wifi or wireless. The command enables this automatically when no valid imported WinRE source is found.
-DownloadOnly
Switch
Not enabled
Returns after saving package archives in the download cache. Expansion and package.json creation are skipped.
-Architecture
String
Automatic
Use amd64 or arm64. Omission permits both. The filter applies to package processing, not catalog refresh, and packages with a blank architecture remain eligible.
-WhatIf
Common parameter
Not enabled
Runs catalog and package discovery with child preview enabled. Protected catalog writes, downloads, and expansion are skipped, but initialization, vendor requests, catalog-directory creation, and cache reads can still occur.
-Confirm
Common parameter
Not enabled
Prompts once before the combined catalog refresh and package-processing operation. Child confirmation prompts are suppressed.
Driver Sources
The active source names are defined by the installed OSDeploy module. The current sources are:
dell
Dell WinPE 11 driver pack
amd64
hp
HP WinPE driver pack
amd64
intel-ethernet
Intel Ethernet adapter driver pack
amd64
intel-wifi
Intel wireless IT administrator driver pack
amd64
Use tab completion after -Name to view the active sources in the installed module:
The installed module also contains disabled source definitions that are not offered by completion and are not returned for package processing. Source availability can change with the installed OSDeploy version; the module configuration, not this table, controls the effective set.
Catalog Selection and Merge
Dynamic sources use vendor-specific discovery. A source with only a download URI uses its static module metadata. The refreshed records are merged into %ProgramData%\OSDeployCore\cache\config\winpedrivers.json with the current catalog date.
When -Name limits the refresh, entries for other sources are preserved. A requested source that returns no data or fails discovery also keeps its existing catalog entry. Catalog output is suppressed by Update-OSDeployCoreDrivers; only package files are returned.
Download All Drivers
Run the command without -Name to refresh every active source and process every matching package:
The command:
Discovers the latest package metadata from each vendor.
Updates the local WinPE driver catalog.
Downloads each matching package that is not already cached.
Verifies a package checksum when the vendor catalog provides one.
Expands the package into the OSDeploy Core driver library when its destination does not already contain files.
Writes
package.jsonmetadata beside the expanded driver files when that metadata file does not already exist.
If one source cannot be discovered or processed, the command writes a warning and continues with the remaining sources.
Download Selected Sources
Use -Name to limit catalog refresh and package processing to one or more sources:
Refreshing selected sources preserves the other entries already stored in the local catalog. Passing a disabled source name directly can refresh its catalog metadata when it has a URI, but disabled sources are skipped during package resolution.
Select an Architecture
Use -Architecture to process packages matching amd64 or arm64:
The current active vendor packages are amd64. An ARM64 filter can return no matching packages unless the installed OSDeploy configuration contains an active ARM64 source.
Wi-Fi Drivers
ADK WinPE does not support wireless hardware. Wi-Fi drivers are used only when building from an imported Windows RE source.
Exclude wireless packages explicitly:
When no imported OS sources are available, the command enables -SkipWifiDrivers automatically and writes a warning. Import Windows into OSDeploy Core before downloading Wi-Fi drivers for a WinRE-based boot image.
Do not expect Intel Wi-Fi drivers to add wireless support to an ADK WinPE boot image. Include them only for a WinRE-based image.
Download Without Expanding
Use -DownloadOnly to save package archives without expanding them:
Raw downloads are stored below a vendor-specific folder:
In download-only mode, the command does not create the expanded driver folder or write package.json metadata.
Driver Library
During normal processing, expanded drivers and package metadata are stored in the unified architecture-specific driver library under Boot-Assets:
List the module-managed driver folders after processing:
Module-managed and user-added packages share these Boot-Assets roots. The update command manages packages represented by its catalog; review custom content before removing or replacing directories manually.
Core path initialization migrates drivers from legacy cache, root-level, repository, and OSDRepo locations. Existing Boot-Assets content takes precedence during general legacy-content merges, while root-level managed driver content replaces matching Boot-Assets content. Unresolved conflicts remain in their source location and produce a warning.
Refresh Cached Packages
Existing downloads and expanded driver folders are reused when possible. A package with a published SHA256 is reused only when the cache matches; a package without a checksum is reused when the expected file exists. The downloader can also copy a differently named file from the same vendor cache when its SHA256 matches the requested package.
Add -Force to re-download matching packages:
-Force does not force catalog discovery to return different metadata, and it does not clear a populated Dell, HP, or Intel expansion directory. Remove an obsolete expanded package directory separately when a clean re-expansion is required.
Preview the Operation
Use -WhatIf to show the catalog and package actions without downloading or expanding drivers:
The public command takes a dedicated preview path so child commands can report their planned actions. It can still initialize and migrate Core paths, inspect imported WinRE sources, contact vendors, load the existing catalog, and create the catalog parent directory. The catalog file is not written and package handlers are not invoked because child ShouldProcess calls decline the mutations.
Use -Verbose to display source discovery, catalog merge, package selection, cache, and expansion details:
Manual Download Fallback
Some vendors can require a browser agreement or block automated requests with a web application firewall. When this happens, the command skips that package, continues processing the remaining sources, and prints the URL, expected file name, and destination for a manual download.
Place the downloaded file in the displayed cache path, then rerun the command for that source:
Review the Results
The command returns a System.IO.FileInfo object for each package file processed successfully. This can be a newly downloaded file, a reused valid cache file, or a file copied from an alternate checksum-matching cache entry. -DownloadOnly returns the same file type. No object is returned for catalog files, unmatched packages, disabled sources, declined operations, or failed packages.
Expanded driver folders are consumed later by Build-OSDeployBoot when it creates a boot image.
Related
Update-OSDeployCoreDrivers command reference See OSDeploy Core: Removing Unused WinPE Drivers for repository maintenance guidance.
Last updated
Was this helpful?

