IT-Hilger Posted June 25, 2014 Report post Posted June 25, 2014 Hi Everybody, this thread is for those who want the old SCCM 2007 driver management back. Normally you have to import every driver to the database first, put them into a driver package, and then deploy them during OSD. In SCCM 2007 you could easily create a Driver Package from your Driver Source Folder and apply this Driver Package during OSD. This way of Driver Management was much easier and more reliable than the new way in SCCM 2012. But luckily there is still a method to prevent importing drivers into database and directly distribute driver packages to your clients. Step 1 Download drivers for your brands and models. Put them into seperate folders - one folder for one model - like you did in SCCM 2007 Step 2 Create a Package for each model and operating system. Then distribute this packages to your DP. Step 3 Create a Step "Set Task Sequence Variable" under your Auto Apply Drivers Group (after the Apply Operating System Step) in your Task Sequence. Task Sequence Variable: winrootdir Task Sequence Value: D:\ Condition: If Folder "D:\Windows" exists I created a second step after this with Drive Letter E:\. Because on some Notebooks the Systemroot is E:\ during OSD. Step 4 Create TS Steps for each model to apply the driver package. Type: Run Command Line Command line: DISM.exe /Image:%winrootdir% /Add-Driver /Driver:.\ /Recurse Package: Choose the corresponding package you created in step 2 Success codes: Add 2 and 50 Condition: WMI Query (here an example for Dell Latitude E7240) select * from win32_computersystem where Model like "Latitude E7240%" Repeat the steps above for each computer model you want to image. With this way of applying drivers we have 0 problems in our environment. Very easy and reliable. BR Achim If you have questions - feel free to contact me http://ithilger.de/kontakt 2 Quote Share this post Link to post Share on other sites More sharing options...
kman-dk Posted June 27, 2014 Report post Posted June 27, 2014 Hi Achim, This is interesting, I think i might try it out. Thanks for sharing. /kman 1 Quote Share this post Link to post Share on other sites More sharing options...
edr1986 Posted September 30, 2014 Report post Posted September 30, 2014 Works great in Windows 7! 1 Quote Share this post Link to post Share on other sites More sharing options...
Jeff K Posted May 5, 2015 Report post Posted May 5, 2015 I am trying and seeming to be having some issue. i have followed what you did and wondering if I am missing a step? i made just a simple task sequence and seem to be erroring out due to drivers for the nic card. now it is just a regular installation of Windows 7 no fancy setup just straight from the DVD. here is my task sequence. i have checked drives and since i preserve the drive letter it is the C drive i believe i am looking for. Quote Share this post Link to post Share on other sites More sharing options...
Garrett804 Posted June 3, 2015 Report post Posted June 3, 2015 It looks like your WMI Query is wrong Jeff. You are calling for a ComputerSystemProduct version when what you should be doing is calling for the "Model" of "ComputerSystem" Quote Share this post Link to post Share on other sites More sharing options...
Jaybone Posted June 3, 2015 Report post Posted June 3, 2015 Kinda - he's right, as far as he goes. Lenovo does it their own way, different from everyone else. Dell, HP, and anything else I've ever run across uses Model to store something meaningful for comparison - "Optiplex 7010," etc. Lenovo, however, uses Model for a specific version of a model. E.g. my X1 Carbon has "3444CUU" in there, but I need to look in ComputerSystemProduct's Version to get "ThinkPad X1 Carbon." Same for our M9x's and every other recent Lenovo I've worked with. Quote Share this post Link to post Share on other sites More sharing options...
Jeff K Posted June 3, 2015 Report post Posted June 3, 2015 Be great if this worked, wondering if it is offline image or an online image at this point. Quote Share this post Link to post Share on other sites More sharing options...
RichMawdsley Posted June 6, 2015 Report post Posted June 6, 2015 Why would you want to do this? Reinventing the wheel. Quote Share this post Link to post Share on other sites More sharing options...
Iroqouiz Posted June 9, 2015 Report post Posted June 9, 2015 Why would you want to do this? Reinventing the wheel. You save a ton of disk space if you have many and large driver packages. Quote Share this post Link to post Share on other sites More sharing options...
Jaybone Posted June 10, 2015 Report post Posted June 10, 2015 You save a ton of disk space if you have many and large driver packages. Also prevents auto-detection from picking the wrong driver because it thinks it's better. Example: Lenovo T440 driver package has a chipset driver that gets auto-picked because it's "better" when deploying to Dell Optiplex 7010s. Except that the "better" driver causes a BSOD on the 7010 units. We can get around that with category filtering, but that means that either we need to have separate task sequences for the different models, or we have to edit the TS to enable/disable the appropriate category before deployment. Using WMI filters like this, everything just works. Quote Share this post Link to post Share on other sites More sharing options...
Jeff K Posted June 10, 2015 Report post Posted June 10, 2015 Be great if this worked in SCCM 2012 Quote Share this post Link to post Share on other sites More sharing options...
IT-Hilger Posted June 12, 2015 Report post Posted June 12, 2015 Be great if this worked in SCCM 2012 This does work in CM12. Do you still have problems with it? Quote Share this post Link to post Share on other sites More sharing options...
Jeff K Posted June 12, 2015 Report post Posted June 12, 2015 Yes, I cant get this to work. I have Lenovo machines, when I go and use the windows 7 dvd as an install source and it comes to this section I get no IP for my nic card and it fails.now it cant be a driver issue with winpe cause I made it to the apply drivers section. Quote Share this post Link to post Share on other sites More sharing options...
Dietmar Posted June 18, 2015 Report post Posted June 18, 2015 Hi! This is a very good idea! I love it! Thanks! I hate the driver repository integrated with ConfigMgr out-of-box. For this winroot thing: In "Patition Disk" step you can set OSDisk. For dism use dism.exe /Image:%OSDisk%\ /Add-Driver /Driver:.\ /Recurse What I cound'nt find: What means success code 2 50? Can you explain? Thanks! 1 Quote Share this post Link to post Share on other sites More sharing options...
IT-Hilger Posted July 22, 2015 Report post Posted July 22, 2015 Hi! This is a very good idea! I love it! Thanks! I hate the driver repository integrated with ConfigMgr out-of-box. For this winroot thing: In "Patition Disk" step you can set OSDisk. For dism use dism.exe /Image:%OSDisk%\ /Add-Driver /Driver:.\ /Recurse What I cound'nt find: What means success code 2 50? Can you explain? Thanks! Hi Dietmar, nice to hear, thanks. Nice idea with OSDisk variable! DISM sometimes gives return code "2" or "50". By default, SCCM TS just takes "0" and "3010" as success codes. When you don't add the return codes 2 and 50 as success codes, the apply drivers works fine, but SCCM thinks that there was an error because it doesn't know that this return codes also mean success. Quote Share this post Link to post Share on other sites More sharing options...
IT-Hilger Posted July 22, 2015 Report post Posted July 22, 2015 Yes, I cant get this to work. I have Lenovo machines, when I go and use the windows 7 dvd as an install source and it comes to this section I get no IP for my nic card and it fails.now it cant be a driver issue with winpe cause I made it to the apply drivers section. Hi Jeff, after which step you get stuck with no IP adress? In WinPE phase or after applying the Windows image? Quote Share this post Link to post Share on other sites More sharing options...
Santosh khaple Posted July 23, 2015 Report post Posted July 23, 2015 Hi Everybody, this thread is for those who want the old SCCM 2007 driver management back. Normally you have to import every driver to the database first, put them into a driver package, and then deploy them during OSD. In SCCM 2007 you could easily create a Driver Package from your Driver Source Folder and apply this Driver Package during OSD. This way of Driver Management was much easier and more reliable than the new way in SCCM 2012. But luckily there is still a method to prevent importing drivers into database and directly distribute driver packages to your clients. Step 1 Download drivers for your brands and models. Put them into seperate folders - one folder for one model - like you did in SCCM 2007 driver-folders.PNG Step 2 Create a Package for each model and operating system. Then distribute this packages to your DP. driver-package1.PNG driver-package2.PNG Step 3 Create a Step "Set Task Sequence Variable" under your Auto Apply Drivers Group (after the Apply Operating System Step) in your Task Sequence. Task Sequence Variable: winrootdir Task Sequence Value: D:\ Condition: If Folder "D:\Windows" exists I created a second step after this with Drive Letter E:\. Because on some Notebooks the Systemroot is E:\ during OSD. create-variable1.PNG create-variable2.PNG Step 4 Create TS Steps for each model to apply the driver package. Type: Run Command Line Command line: DISM.exe /Image:%winrootdir% /Add-Driver /Driver:.\ /Recurse Package: Choose the corresponding package you created in step 2 Success codes: Add 2 and 50 Condition: WMI Query (here an example for Dell Latitude E7240) select * from win32_computersystem where Model like "Latitude E7240%" apply-package1.PNG apply-package2.PNG Repeat the steps above for each computer model you want to image. With this way of applying drivers we have 0 problems in our environment. Very easy and reliable. BR Achim If you have questions - feel free to contact me http://ithilger.de/kontakt Hi, if you could help me to creation of package for .exe drivers that will be great, because while driver importing it doesnt take .exe drivers. regards; Sant Quote Share this post Link to post Share on other sites More sharing options...
IT-Hilger Posted July 23, 2015 Report post Posted July 23, 2015 Hi, if you could help me to creation of package for .exe drivers that will be great, because while driver importing it doesnt take .exe drivers. regards; Sant Hi Sant, thats different from (exe) package to package. You must try to extract them and then use the .inf, .sys and .cat files. You can try to extract the .exe with 7zip for example. If this doesn't work, run the .exe and wait at the first dialog of the .exe program and don't click next. Then open the %temp% folder on the pc and have a look inside the last modified folder in %temp% folder. I think you should find the extracted driver files there. BR Achim 1 Quote Share this post Link to post Share on other sites More sharing options...
Jeff K Posted July 28, 2015 Report post Posted July 28, 2015 The part is the second one, when windows installs...or at least tries. Quote Share this post Link to post Share on other sites More sharing options...
Max2333 Posted December 1, 2015 Report post Posted December 1, 2015 I hate to bump an old post but I found this extremely useful. I think I much prefer this to the native driver package model in terms of manageability - it's a lot cleaner to import and update driver packages. Thanks very much for the guide! One thing though - I had issues with dism working until I removed the backslash off the driver path: DISM.exe /Image:%osdisk%\ /Add-Driver /Driver:. /Recurse Quote Share this post Link to post Share on other sites More sharing options...
IT-Hilger Posted December 1, 2015 Report post Posted December 1, 2015 I hate to bump an old post but I found this extremely useful. I think I much prefer this to the native driver package model in terms of manageability - it's a lot cleaner to import and update driver packages. Thanks very much for the guide! One thing though - I had issues with dism working until I removed the backslash off the driver path: DISM.exe /Image:%osdisk% /Add-Driver /Driver:. /Recurse Hi Max, thanks for your comment! Great that this solution also works for you. Don't know why you have to remove the trailing backslash, it's working in our environment. And good idea with %osdisk% variable. Maybe I'll change it in our environment, too. BR Achim Quote Share this post Link to post Share on other sites More sharing options...
Jeff K Posted December 1, 2015 Report post Posted December 1, 2015 Anyone know if this works with MDT by itself not with SCCM? Quote Share this post Link to post Share on other sites More sharing options...
IT-Hilger Posted December 1, 2015 Report post Posted December 1, 2015 Anyone know if this works with MDT by itself not with SCCM? I didn't test it, but it should. You only need DISM to do it - and this is independent from SCCM. Starting with Windows Vista it's built into the OS. BR Quote Share this post Link to post Share on other sites More sharing options...
krmstrong Posted December 3, 2015 Report post Posted December 3, 2015 I didn't test it, but it should. You only need DISM to do it - and this is independent from SCCM. Starting with Windows Vista it's built into the OS. BR This solution is working on our environment via TS or MDT on Windows 7. Has anyone tested it with Windows 10? from smssts logs, I can see driver has been picked up and not getting installed. Any ideas? everyone... Cheers! Quote Share this post Link to post Share on other sites More sharing options...
IT-Hilger Posted December 4, 2015 Report post Posted December 4, 2015 This solution is working on our environment via TS or MDT on Windows 7. Has anyone tested it with Windows 10? from smssts logs, I can see driver has been picked up and not getting installed. Any ideas? everyone... Cheers! I test it in our W10 TS next week. I'll tell the results... Quote Share this post Link to post Share on other sites More sharing options...