Maybe I’m missing something here, but it seems like the answer is simple – DISM.
There’s a couple ways to do it, but the simplest might be: Boot to your boot image command prompt (adjust to fit) Dism /online /get-drivers > d:\BootDriverInfo.txt (use /image:<path to boot.wim> instead of /online to check it from your running Windows) Or, Dism /mount-wim /wimfile:d:\media\sources\boot.wim /index:1 /mountdir:c:\mount Dism /image:c:\mount /get-drivers > c:\BootDriverInfo.txt (commands vary between ADK versions – these were taken from WAIK for W7, aka WinPE 3) Not sure on the export piece because I’ve never tried it, but once you mount the PE boot.wim, you _should_ be able to just rip them out of c:\windows\inf (assuming you’re going to and from the same version of PE). I just keep a repository of boot drivers (or go make one if it’s a new build), and do a dism /add-drivers:<path> injection after creating the base PE. Someone please let me know if I’m way off base here… Matt Varnado | Systems Engineer II W (214) 572-8226 | M (214) 815-9833 From: listsad...@lists.myitforum.com [mailto:listsad...@lists.myitforum.com] On Behalf Of Art Flores Sent: Wednesday, August 10, 2016 1:04 PM To: mssms@lists.myitforum.com Subject: [EXTERNAL]RE: [mssms] Move Drivers from one boot image to another. Another option using PoSH. Import boot image drivers from existing boot image https://gallery.technet.microsoft.com/Import-boot-image-drivers-c43e04da From: listsad...@lists.myitforum.com<mailto:listsad...@lists.myitforum.com> [mailto:listsad...@lists.myitforum.com] On Behalf Of Todd Hemsell Sent: Wednesday, August 10, 2016 10:46 AM To: mssms@lists.myitforum.com<mailto:mssms@lists.myitforum.com> Subject: [mssms] Move Drivers from one boot image to another. What I do is open up the existing boot image and then open the SMSPROV.log in cmtrace. THEN click on the drivers tab of the boot image. Once you can see all of the drivers go to cmtrace and pause it. open the smsprov.log Open the boot image. Find the line like this select all SMS_Driver.LocaleID,SMS_Driver.CI_ID,SMS_Driver.CI_UniqueID,SMS_Driver.DisplayName from fn_ListDriverCIs_List(1033) AS SMS_Driver where (((((((((((((((((((((((((((((((((((((((((((((((SMS_Driver.CI_ID = 16900711 OR SMS_Driver.CI_ID = 16900712) OR SMS_Driver.CI_ID = 16900713) OR SMS_Driver.CI_ID = 16900714) OR SMS_Driver.CI_ID = 16900715) OR SMS_Driver.CI_ID = 16900716) OR SMS_Driver.CI_ID = 16900717) OR SMS_Driver.CI_ID = 16900718) OR SMS_Driver.CI_ID = 16900719) OR SMS_Driver.CI_ID = 16900720) OR SMS_Driver.CI_ID = 16900721) OR SMS_Driver.CI_ID = 16900722) OR SMS_Driver.CI_ID = 16900723) OR SMS_Driver.CI_ID = 16900724) OR SMS_Driver.CI_ID = 16900725) OR SMS_Driver.CI_ID = 16900726) OR SMS_Driver.CI_ID = 16900727) OR SMS_Driver.CI_ID = 16900728) OR SMS_Driver.CI_ID = 16900729) OR SMS_Driver.CI_ID = 16900730) OR SMS_Driver.CI_ID = 16900731) OR SMS_Driver.CI_ID = 16900732) OR SMS_Driver.CI_ID = 16900733) OR SMS_Driver.CI_ID = 16900734) OR SMS_Driver.CI_ID = 16900735) OR SMS_Driver.CI_ID = 16900736) OR SMS_Driver.CI_ID = 16900737) OR SMS_Driver.CI_ID = 16900738) OR SMS_Driver.CI_ID = 16900739) OR SMS_Driver.CI_ID = 16900742) OR SMS_Driver.CI_ID = 16900743) OR SMS_Driver.CI_ID = 16900744) OR SMS_Driver.CI_ID = 16900747) OR SMS_Driver.CI_ID = 16900748) OR SMS_Driver.CI_ID = 16900749) OR SMS_Driver.CI_ID = 17003831) OR SMS_Driver.CI_ID = 17074423) OR SMS_Driver.CI_ID = 17074424) OR SMS_Driver.CI_ID = 17074425) OR SMS_Driver.CI_ID = 17074426) OR SMS_Driver.CI_ID = 17074427) OR SMS_Driver.CI_ID = 17074428) OR SMS_Driver.CI_ID = 17074429) OR SMS_Driver.CI_ID = 17074430) OR SMS_Driver.CI_ID = 17074431) OR SMS_Driver.CI_ID = 17074432) OR SMS_Driver.CI_ID = 17074433) OR SMS_Driver.CI_ID = 17074434) You copy that SQL and open SQL management studio. Then replace the "Select" portion (not the from or where clause) with this 'Add-BootImageDriver -SiteCode XXX -SiteServer SITESERVER -DriverCI ' + CAST ( SMS_Driver.CI_ID AS nvarchar(10)) + ' -BootImagePackageID "NEWBOOTIMAGEPACKAGEID"' AS [PS], The SQL output will look like this Add-BootImageDriver -SiteCode XXX -SiteServer USHDCCMXXX01 -DriverCI 16777410 -BootImagePackageID XXX00134 Add-BootImageDriver -SiteCode XXX -SiteServer USHDCCMXXX01 -DriverCI 16777413 -BootImagePackageID XXX00134 Add-BootImageDriver -SiteCode XXX -SiteServer USHDCCMXXX01 -DriverCI 16777414 -BootImagePackageID XXX00134 Add-BootImageDriver -SiteCode XXX -SiteServer USHDCCMXXX01 -DriverCI 16777415 -BootImagePackageID XXX00134 Add-BootImageDriver -SiteCode XXX -SiteServer USHDCCMXXX01 -DriverCI 16777416 -BootImagePackageID XXX00134 Add-BootImageDriver -SiteCode XXX -SiteServer USHDCCMXXX01 -DriverCI 16777417 -BootImagePackageID XXX00134 Add-BootImageDriver -SiteCode XXX -SiteServer USHDCCMXXX01 -DriverCI 16777418 -BootImagePackageID XXX00134 Add-BootImageDriver -SiteCode XXX -SiteServer USHDCCMXXX01 -DriverCI 16777419 -BootImagePackageID XXX00134 Add-BootImageDriver -SiteCode XXX -SiteServer USHDCCMXXX01 -DriverCI 16777420 -BootImagePackageID XXX00134 Then open a SCCM PS prompt and paste this in there. Function Add-BootImageDriver { [CmdLetBinding()] Param( [Parameter(Mandatory=$True,HelpMessage="Please Enter Site Server Site code")] $SiteCode, [Parameter(Mandatory=$True,HelpMessage="Please Enter Site Server Name")] $SiteServer, [Parameter(Mandatory=$True,HelpMessage="Please Enter Driver CI_ID")] $DriverCI, [Parameter(Mandatory=$True,HelpMessage="Please Enter Boot Image Packge ID")] $BootImagePackageID ) #Get the Boot image and the Driver $BootImageQuery = Get-WmiObject -Namespace "Root\SMS\Site_$SiteCode" -Class SMS_BootImagePackage -ComputerName $SiteServer -Filter "PackageID='$BootImagePackageID'" $DriverQuery = Get-WmiObject -Namespace "Root\SMS\Site_$SiteCode" -Class SMS_Driver -ComputerName $SiteServer -Filter "CI_ID='$DriverCI'" #Read the Lazy properties also $BootImageQuery.Get() #New Driver details $NewBootImageDriver = ([WMIClass]"\\$SiteServer\root\SMS\Site_$($SiteCode):SMS_Driver_Details<file:///\\$SiteServer\root\SMS\Site_$($SiteCode):SMS_Driver_Details>").CreateInstance() $NewBootImageDriver.ID = $DriverQuery.CI_ID $NewBootImageDriver.SourcePath = $DriverQuery.ContentSourcePath #Add the driver details $BootImageQuery.ReferencedDrivers += $NewBootImageDriver.psobject.baseobject $BootImageQuery.Put() } then copy the output of the SQL query and paste it into the powershell command ________________________________ Confidentiality Warning: This transmission is intended only for the proper recipient and may contain information that is confidential and/or privileged. If you received this message in error or are not the intended recipient, (A) you are hereby notified that the dissemination, distribution or copying of this message is strictly prohibited, (B) please notify the sender at either the e-mail address or telephone number above, and (C) delete this email from your computer. Thank you.