Michael Niehaus' Windows and Office deployment ramblings
Because organizations are increasingly using at least some virtual machines, it’s useful to be able to detect during an OS deployment if a task sequence is running on a physical machine or a virtual machine. It’s also helpful to know if the physical machine is capable of being a virtualization host. That’s where these enhancements to the MDT 2010 gathering process (ZTIGather.wsf) come from. We now gather these additional details:
IsHypervisorRunning: This variable is set to “True” if the processor reports that a hypervisor (any hypervisor) is currently running. You can use this to detect the presence of a hypervisor-based virtualization solution (e.g. Hyper-V).
SupportsVT: This variable is set to “True” if the processor reports that hardware-assisted virtualization is enabled. (This could also be useful on laptops and desktops, as this is required for the new Virtual PC used as part of the Windows 7 XP Mode software.) Note that SupportsVT will be false when running inside of a VM, as the VM hides the actual hardware support for this.
SupportsNX: This variable is set to “True” if the processor reports that “NX” (no-execute) support is enabled. This is another requirement for Hyper-V and other virtualization solutions.
Supports64Bit: This variable is set to “True” if the processor reports that it supports 64-bit processing (as most do these days). (Technically, this was already in MDT 2008, although through a different variable, CapableArchitecture.)
SupportsHyperVRole: This variable is set to “True” if SupportsVT, SupportsNX, and Supports64Bit are all true. Those are the main requirements for Hyper-V.
IsVM: This variable will be set to true if we can detect that we are running in a virtual machine. (While we can easily figure that out for Hyper-V, Virtual Server, Virtual PC, and VMware, we might not accurately figure this out for other virtualization solutions.)
VMPlatform: This variable will be set to a value that tells you what virtualization platform we detected. Values that are possible:
Hyper-V Beta or RC0 Hyper-V VS2005R2SP1 or VPC2007 VS2005R2 VS2005 or VPC2004 VMware VirtualBox
I make use of these variables inside of a task sequence to automate the installation of the needed Hyper-V integration components. Here’s the process I go through for Lite Touch:
Repeat steps 1-4 for the amd64 platform (using “D:\Support\amd64” for the source). The steps required for ConfigMgr would be slightly different (creating packages instead of applications), but the idea is the same.
You could also use this to automatically install the Hyper-V role on any machine with SupportsHyperVRole=True. Just set up an “Install OS Roles” step with the “SupportsHyperVRole=True” condition.
All of these variables are available for both Lite Touch and ConfigMgr deployments.
This is the first in what will probably end up being a long series of posts talking about new features in MDT 2010. These won’t be in any particular order, and I’m sure I’ll miss some so don’t consider this an exhaustive list either.
First up is a new variable, SLShareDynamicLogging. If you set this in CustomSettings.ini to a network path using something like this:
you’l see something interesting when the deployment is executing. As the deployment progresses, each line being written to the local BDD.LOG on the local computer will also be written to the network location. That will allow you to use something like TRACE32.EXE (http://www.microsoft.com/downloads/details.aspx?FamilyID=948e477e-fd3b-4a09-9015-141683c7ad5f&DisplayLang=en) to follow the progress of the deployment in real time, instead of waiting for the process to complete so that you can check the BDD.LOG.
This doesn’t affect the local log file, which will still be written to as well.
This will work for both Lite Touch and ConfigMgr deployments. Because of the amount of network traffic that could be generated opening, writing, and closing the file for each log line, I wouldn’t recommend using this in production environments when you are performing lots of updates, but it could be very useful in lab environments.
If you haven’t already seen the official announcement at http://blogs.technet.com/msdeployment/archive/2009/06/26/microsoft-deployment-toolkit-2010-beta-2-is-now-available-for-download.aspx, the bits are now available for download from http://connect.microsoft.com. (If you need the instructions for how to sign up check out http://blogs.technet.com/msdeployment/archive/2008/12/03/a-new-version-is-coming-soon.aspx.) Please try this out and let us know what you think (the sooner the better – the march to RTM has already begun).
MDT 2010 Beta 2 is a significant change over previous versions (even beta 1), so be sure to check out the release notes and updated documentation.
In the coming days, I’ll start posting more messages about the changes in MDT 2010 Beta 2, from the large obvious ones (folders everywhere, PowerShell support, Windows 7 support) to the much more subtle ones.
Those of you who have tried have probably already encountered this, but it’s good to state it anyway: Due to the changes made in ConfigMgr SP2 beta to support Windows 7 deployment, MDT 2008 Update 1 (or any previous version) will not work with ConfigMgr SP2 beta. This is primarily due to the use of the new Windows Automated Installation Kit for Windows 7 RC (a.k.a. Windows AIK 2.0).
Once MDT 2010 Beta 2 is released (very soon – yes, I know I’ve been saying that for a while, but it really is), you will be able to use it with ConfigMgr SP2 beta.
There are no plans to release additional updates for MDT 2008 or BDD 2007 – all our efforts are now focused on MDT 2010.
There are two new hotfixes to add Windows Vista SP2 and Server 2008 SP2 to the supported platform list for ConfigMgr 2007. The first is for ConfigMgr SP1:
The second one is for ConfigMgr RTM, if you haven’t yet moved to SP1 (better hurry up, SP2 is due out soon):
As with the previous fixes (http://blogs.technet.com/mniehaus/archive/2009/06/12/configmgr-hotfixes-available-to-support-windows-vista-sp2-and-server-2008-sp2-os-deployment.aspx) the changes are already present in the ConfigMgr SP2 beta.
And if you are really behind and still running SMS 2003 SP3, they’ve added SP2 to the supported platform list there too:
As some of you have already discovered, ConfigMgr (RTM and SP1) is unable to capture an image of a Windows Vista SP2 or Windows Server 2008 SP2 operating system. Fortunately, there are now two hotfixes available for this, one if you are running ConfigMgr RTM:
And another if you are running ConfigMgr SP1:
This fix is already included in the ConfigMgr SP2 beta (which is available from Connect now), but that’s not supported in production environments.