Monday, May 16, 2016

VMWare Tools and Drivers in Task Sequence

Overview


I have alot of virtual systems in my environment. Most running the VMWare Hypervisor in ESXi, Workstation, Horizon View etc. I've mandated as my firms EUC (End User Computing) Architect that it all sources back to OSD in ConfigMgr. To make this easier I packaged up the VMWare Tools as well as handle drivers (VMXNET3 anyone?).

Life is easier now as VMWare has de-coupled the Tools from Workstation or ESXi and can be downloaded directly. They have released several already since doing so and are on 10.0.8 as of this writing.


Application

After grabbing the ISO from VMWare, extract it and upgrade/install a VM with it. Once that is done setup an application within ConfigMgr however your policy is. For me we use supercedence so older ones are present as well.

With two deployment types. One for 32-Bit and one for 64-Bit.
64-Bit
 setup64.exe /s /v/qn ADDLOCAL=ALL REBOOT=ReallySuppress  
32-Bit
 setup.exe /s /v/qn ADDLOCAL=ALL REBOOT=ReallySuppress   
For detection method just use the MSI GUID.  You can find this via many methods such as in the VM via the registry at HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. This also is what becomes the Uninstall program. For 10.0.8 it is
 {F4B2C3ED-A9F2-4B8B-92C8-2688CCF15D02}  
which would make the uninstall program for both 32-Bit and 64-Bit
 MsiExec.exe /x {F4B2C3ED-A9F2-4B8B-92C8-2688CCF15D02} /qn /norestart  
On the requirements tab you can use something like a custom  'Computer Model' = VMWare Virtual Platform' and built in Operating System equals whats applicable such as 'All Windows 7 (64-Bit)'.


You can advertise this to all systems in your fleet as available or required as well as use in an OSD Task Sequence. Whatever you want.


I wish there was a way within the VM to determine which platform its one. Workstation, View, ESXi. This would make targeting apps to a collection easier. It may make sense to update Workstation with the latest, but keep the ESXi ones on whats provided with it for example.



Drivers

So how do we get the drivers into SCCM? Real easy actually. Go to your VM and and look in 
%PROGRAMFILES%\Common Files\VMware\Drivers. Take the contents of this folder and put into a driver package, or however you do drivers. Then add as a step to an OSD. Like any other driver package, do a WMI query for the model (VMWare Virtual Platform) or manufacture (VMWare, Inc.). I talked about how I handle drivers here.

For the driver package note that this folders contents are different for W7 (Server 2008 R2) and down vs Windows 8 (Server 2012) and up. One driver, the mouse driver is different. I have two packages as I have not fully vetted a merged one. PNPID and version should handle it in one package but I have not tested in all instances yet. With DP's deduping its not a big deal actually.


Bonus

I will try to keep track of the GUIDs for all the versions and post them here as they come out. If you have older ones please pass them on and I will include them

 10.1.7 - {45147181-CF69-4C8C-81CB-0FC96F170758}
 10.1.5 - {30B36D27-24D7-4C18-996D-9A23B9235707}
 10.1.0 - {507F5BFC-6DFE-43CF-A552-DABE868FCDFE}
 10.0.9 - {7595A850-FE4D-4273-84FA-9CC1068AFF7A}
 10.0.8 - {F4B2C3ED-A9F2-4B8B-92C8-2688CCF15D02} 
 10.0.6 - {ECD203D2-312B-4EC7-9D55-778A81C6BDE9}
 10.0.5 - {0C69DF99-B17A-4490-910B-64811AEA2F48}  


-Kevin

No comments:

Post a Comment