VM Host Task Sequence Handling

My Windows 7 TS supports about 35 hardware models today (The old XP one was over 60), so to save time in processing the TS, I have added a condition to the Apply Drivers Group or as shown below, a separate ‘Apply Hardware Drivers’ group. If I am deploying to a VM then it skips all those driver package steps. With more and more deployments being virtual it helps…

NOTE: Don’t use that variable, its custom and not built in! I create an ‘OSDComputerModel’ variable via a tech interview HTA or VBS but you can use whatever method you use for Driver package conditions.

Additionally I  also capture the chassis type to a variable ‘OSDChassis’ and have the drivers grouped by Desktop or Laptops to save time as well. This also works for installing VPN clients or WiFi interface software on mobile platforms.

Another one I capture is the Asset Tag. This is used in DELL and other manufactures that allows a firm to put an internal Asset Tag in the BIOS. Dell does it via CFI for me.

While MDT has several built-in variables such as ‘IsVM’, ‘IsLaptop’, ‘IsDesktop’, I do not have MDT integrated with ConfigMgr so I’ve adapted other methods. I’ve noticed it is quicker to do a single WMI query for the model, normalize that, and save as a variable then to do a like WMI query for each driver package as well as grouping by chassis to skip dozens of unneeded steps.

Download

This script is provided as-is, no warranty is provided or implied.The author is NOT responsible for any damages or data loss that may occur through the use of this script.  Always test, test, test before rolling anything into a production environment.

This is the VBS version that collects the hardware data into variables.

Informational

I’m always having to look these up for varying reasons so I thought I would put them in one place. Know of any others I can add?

VMWare *ALL*

<code style="color: black; word-wrap: normal;"> VMWare Virtual Platform  
</code>

Microsoft Hyper-V

<code style="color: black; word-wrap: normal;"> Virtual Machine  
</code>

Xen *ALL*

<code style="color: black; word-wrap: normal;"> HVM domU  
</code>

Oracle VirtualBox

<code style="color: black; word-wrap: normal;"> VirtualBox  
</code>
email

Written by , Posted .
  • Dustin Hedges

    You can add ‘Parallels Virtual Platform’ in there also.

  • Nash

    Instead of a task sequence variable, you should consider using a WQL query like:
    SELECT * FROM Win32_ComputerSystem WHERE Manufacturer Like ‘VMWare%’