ConfigMgr

OSD Deployment – Deploying Intel NUC and getting drivers and settings assigned using the AliasUserExit.vbs – Converting Product into %ModelAlias%

I have been deploying the small and cool Intel NUC’s for a long time, they just have one problem, it is a small problem, but….

There is no Make/Model, actually, the entire SMBBios is empty, now that makes it a bit hard to figure what model we are deploying and therefore it is hard to determine what drivers that needs to be deployed. On some older  NUC’s there could be settings.

This is what we get from PowerShell – Win32_ComputerSystem,Win32_ComputerSystemProduct,Win32_BIOS and Win32_BaseBoard

image

As you can see Make and Model are kind of “nothing”, but SMBIOSBIOSVersion is RYBDWi35.86A.0350.2015.0812.1722 and that is basically the name of the motherboard, but slightly better, why don’t we use the Win32_BaseBoard and grab product, that seems just to be the perfect match here. And hold it… Win32_BaseBoard is already inventoried by the ZTIGather process, so the only thing we need to do is to set ModelAlias to Product, that seems pretty easy…

The “old” AliasUserExit to the rescue (once more)

The AliasUserExit script runs as a part of the ZTIGather process in MDT/ConfigMgr. This script has a section for Models where either Make is “Intel” or “”, in that case we grab the Product from the gather process and store that in %ModelAlias%.

Script can be found here: http://1drv.ms/1OdlmnW and inside the VBscript it explains how to use it

Verify that it works:

Running cscript ZTIGather.wsf /inifile:Customsettings.ini we get this on a DN2820FYK.
Note: In this case someone manually added/modified the SMBios using the Intel Toolkit to say that the Model is DN2820FYKH, but it is actually DN2820FYK
image
Running cscript ZTIGather.wsf /inifile:Customsettings.ini we get this on a NUC5i7RYB.
Note: In this case the BIOS is “normal”, that is it is totally blank
image
Running cscript ZTIGather.wsf /inifile:Customsettings.ini we get this on a D53427RKE.
Note: In this case the BIOS does contain vales, older NUC’s could have them set..
image

10 replies »

      • There is a direct relationship between the specific model and the processor, e.g. the NUC D54250WYK has the CPU model i5-4250U. The WMI Query can then be SELECT * FROM Win32_Processor WHERE Name Like “%i5-4250U%”. The NUC5i5RYK would be “%i5-5250U%” and the NUC6I5SYH would be “%i5-6260U%”.

        Have you found a way to update the NUC BIOS during deployment?

  1. Hi Mike, I have been using different NUC and it is working fine with command SELECT * FROM Win32_ComputerSystem WHERE Model like “%NUC5i7RY%” except with new NUC5i5MYHE. So I am trying your method here, but I am getting this YYYYYYYYYYY symbols, not sure what I am doing wrong. there is the link of my bdd.log file http://1drv.ms/1mC6mFv

    Esben: I have tried your method, some reason it works in Winpe, but when it gets to install driver, there is no class for processor. I have tested with wbemtest.

    • Esben: your win32_Processor works fine with NUC5i5MYHE model. I did SELECT * FROM Win32_Processor WHERE Name Like “%i5-5300U%”, works great. Issue i had was related with OSDCOMPUTERNAME TS Variable setup %assettag%, i have put ignore this model in there. Perfect. thanks.

      For bios update: i have tried their ITK or create file, once you apply this file, it reboots and there is no command line to tell not to reboot. I have talk with Intel Bios Support and they said its is out of scope for now.

      • Using WMI Queries in a userexit script is fine, in this case I prefer the product name since that will be consistent. It is possible to check other values as well, my point is that you should not check WMI in the task sequence, instead you should use a userexit script to set a model alias, that way you will have a consistent method that has the capability to change “ugly” names into names that are usable. When it comes to BIOS upgrade, Intel has no solution right now, I have tried a couple of methods but they are not as reliable as needed.

      • Hi Esben, could you be so kind to post your AliasUserExit.vbs? I’m having some troubles with the NUC5i5MYHE model… :-/
        Thanks a lot indeed!

      • Hi Gianluigi, on my NUC5i3MYHE the model is also blank. I am not using AliasUserExit.vbs. The NUC5i5MYHE uses a very common Intel CPU, so it would not work well to just query for the CPU model. I would only query for CPU with the NUC-specific CPUs like the i5-4250U, i5-5250U and i5-6260U.

        It might be better to query for the baseboard product like Mikael is showing in the screenshots in this article. You can find the information with: wmic baseboard get product. The WMI query would be: SELECT * FROM Win32_BaseBoard WHERE Product Like “%NUC5i5MYBE%”.

      • Mikael and Esben, thank you very much for your replies!
        Apologize for the delay of my answer… The strange and confusing fact for me, was that our boards were all Intel NUCi5MYHE but the AliasUserExit.vbs identified them as NUC5i5MYBE! The change from “HE” to “BE” was unexpected on my side… The developers of the Intel BIOS should be funny people! X-D

        Property Model is now = NUC5i5MY
        Property Product is now = NUC5i5MYBE

        So I simply adjusted the AliasUserExit.vbs to fit those properties and the task sequence completed successfully injecting all the drivers in Windows 7 (all the drivers were previously catched via PowerShell from a Win 8.1 system thanks to another great post made by Mikael).

        Happy ending! :-)

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.