MDT 2012 New Feature: Gather improvements

Sometimes it’s the little things that most people fail to notice that need some attention.  In this case, we’re talking about new task sequence variables automatically set by the MDT “Gather” process (specifically, the ZTIGather.wsf script).  There are a few new ones in MDT 2012:

  • IsOnBattery.  This will be set to true if the machine is currently running using a battery with no AC power.  This can be useful in any deployment – you really don’t want a computer to turn off because the battery went dead during a deployment.
  • VMHost.  When a virtual machine is running on a Hyper-V server and has the Hyper-V integration components installed, we can determine the name of the Hyper-V server (the VM host) that the VM is running on.
  • VMName.  This also comes from the Hyper-V integration components, telling us the name of the virtual machine in Hyper-V, which might be different than the “computer name” (the name given to the OS) of the VM.

We also made a few other related changes:

  • The “Make” property now detects Xen, in addition to the the other platforms that could be detected in MDT 2010 Update 1 (Hyper-V, VMWare, VirtualBox).
  • We fixed the “SMSDP” property, so it should now always return a valid server name for the ConfigMgr distribution point that the boot image associated with the task sequence came from.  (The task sequence doesn’t have a distribution point, so we had to pick a package that each task sequence should have.)
  • We changed the “OSVersion” property so that it doesn’t generate an error on unknown OSes (e.g. Windows 8).  We don’t plan to add new OSes to the list set by this function, so consider this variable to be “functionally stabilized” and “obsolete”.  It would be better to use OSCurrentVersion or OSCurrentBuild (maybe combined with IsServerOS) instead.
  • We added progress reporting (which works with Lite Touch and ConfigMgr deployments) so that you can see what ZTIGather is doing during the process.  This will be especially useful when you are doing database queries: you’ll be able to see which ones are taking too long.