Freigeben über


MDT 2012 Update 1: Roles and Features improvements

Apparently I was so wrapped up in the MDT 2012 Update 1 development process that I forgot to talk about one of the areas that consumed weeks of my time before the MDT 2012 Update 1 release: improvements to the “Roles and Features” logic.

In MDT 2010 and MDT 2012, we had a task sequence action to “Install Roles and Features” that you could use to install roles and features on various operating systems.  But it didn’t support Windows 8 or Windows Server 2012; it tried (unsuccessfully in some cases) to merge all of the role and feature lists into one single list for the rest of the OSes; it didn’t include a complete list of roles and features for all the OSes (e.g. Windows 7); etc.  Basically, it needed a lot of work.

So in MDT 2012 Update 1, we took the opportunity to do some housecleaning.  First, we changed the “Install Roles and Features” task sequence UI to allow you to display a filtered list of roles and features for the particular OS you are deploying:

image

We also made sure that the complete lists were present for all the various OSes:  Windows 7, Windows 8, Windows Server 2008 (full install and core install), Windows Server 2008 R2 (full install and core install), and Windows Server 2012 (full install and core install).  (We didn’t change the list for Windows XP and Windows Server 2003.  Given that those are already in extended support and rapidly approaching their end-of-life date, we’re not adding new functionality for them.)  And we verified the lists – something that gave our test team a real workout, as we had to make sure that we properly handled all the dependencies between the roles and features on OSes where that wasn’t handled automatically (e.g. Windows 7).

Then, we added a new Lite Touch wizard pane to let you dynamically choose roles and features.  It automatically displays the right list based on the OS being deployed, allowing you to choose additional roles and features to install later in the task sequence:

image

What do you need to enable this wizard pane?  Just add a step to the task sequence (somewhere in the State Restore phase; the exact location doesn’t matter, but I typically choose to put it in the “Custom Tasks” group) and the new pane will automatically show up.  If you don’t want the wizard pane, you can turn it off through Custom Settings.ini by specifying “SkipRoles=YES”.

We also added a new “Uninstall Roles and Features” task sequence step that can be used to remove roles and features that you no longer want.  It presents exactly the same list of roles and features inside the task sequence editor:

image

Notice the red box above, which I highlighted to point out one specific Windows 8 and Windows Server 2012 feature (and only shows up when you choose Windows 8 or Windows Server 2012):  Not only can you uninstall roles and features, but you can also completely remove the components, getting rid of all the files related to that component.  (If you ever want to add those back, Windows can download the components from Windows Update, or you can provide the original media to pull them from the WIM file.  See https://technet.microsoft.com/en-us/library/hh824822.aspx for more details around this, as well as https://technet.microsoft.com/en-us/library/hh825020 for information about how to specify an alternate “repair source” instead of Windows Update.)

It’s worth noting too that we added some extra logic to handle the installation of .NET 3.5 on Windows 8 and Windows Server 2012.  For both of these OSes, the .NET 3.5 feature is not present in the standard WIM file, but the files do exist on the media in the \sources\sxs folder.  So for Lite Touch deployments, we will automatically provide these files to Windows as long as you have imported the full source files into your deployment share.  For ConfigMgr clients, you would need to do a little bit more:

  • Set up a network share containing the contents of the “sources\sxs” folder from the original Windows 8 or Windows Server 2012 media.
  • Set a task sequence variable (either through CustomSettings.ini or directly in the task sequence) called “WindowsSource” that points to the location of that folder.

Behind the scenes, the script responsible for performing the role and feature work, ZTIOSRole.wsf, figures out the right thing to do for each OS:

  • For Windows Server 2003, use SYSOCMGR.EXE.
  • For Windows Server 2008, use SERVERMANAGERCMD.EXE.
  • For Windows 7 or Windows 8, use DISM.EXE.
  • For Windows Server 2008 R2 (non-core) or Windows Server 2012, use PowerShell.
  • For Windows Server 2008 R2 (core), use OCSETUP.EXE.

Fun stuff.  (For those of you keeping track, this also means that MDT now actually uses PowerShell itself during a deployment task sequence to install or uninstall roles and features on Windows Server 2008 R2 and Windows Server 2012.  To keep things simple, the ZTIOSRole.wsf script calls the ZTIOSRolePS.ps1 script to take care of this.  Look at the logic in ZTIOSRole.wsf and the new ZTIPSUtility.vbs script to see how that works, in case you ever have the need to do something similar, e.g. do some work in VBScript and some in PowerShell.)

Comments

  • Anonymous
    January 01, 2003
    Yes, this is a breaking change - you would need to reconfigure any existing "Install Roles and Features" steps.

  • Anonymous
    January 01, 2003
    There's no simple way, although you could probably build a custom UDI wizard pane with a small list of roles to choose from (e.g. checkboxes).

  • Anonymous
    January 01, 2003
    For obvious reason, due to this "awesome" change, I found that any previously created "Install Roles and Features" tasks within your existing task sequences won't work on MDT 2012 U1 until you manually specify OS and give a Condition... Thanks,

  • Anonymous
    January 01, 2003
    There are no definitive plans for the next release, so it's hard to say at this point.

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    I really like the use of powershell here.

  • Anonymous
    January 01, 2003
    It seems to fail with "path not found" even if I pick it in Deployment Wizard and Task Sequence.

  • Anonymous
    January 01, 2003
    Another good staff implemented into MDT.

  • Anonymous
    September 26, 2012
    Those are really excellent changes.  thanks heaps to the MDT team for thinking those cases through.  supporting the uninstalled payload removed capability of win8/server2012 is fantastic

  • Anonymous
    September 28, 2012
    Michael, this was a great change.  I had many roles and features installs that were failing because of the oddness with the first revision. I did break everything though when I did the upgrade (without noticing)!  Oops

  • Anonymous
    November 15, 2012
    The comment has been removed

  • Anonymous
    November 27, 2012
    Is it possible to get a Roles and Features pane using UDI or another method when deploying images using sccm2012?

  • Anonymous
    November 27, 2012
    In the a feature release is this pane going to be available in SCCM2012 using MDT?

  • Anonymous
    April 15, 2013
    Hi, Great work, How to configure the roles and features once installed? As in SMTP or IIS6 config? Is this possible with MDT? Thanks.

  • Anonymous
    November 13, 2013
    I followed this. I added a task sequence for Windows 8.1. I selected .NET 3.5. However when the litetouch install runs, .net 3.5 is not selected. I opened the ts.xml and confirmed it's in there. Anyone else having this problem? I think this person is also seeing the same: social.technet.microsoft.com/.../mdt-2013-who-knows-the-value-name-for-net-framework-feature-in-the-osfeatures-property

  • Anonymous
    November 14, 2013
    If I do SkipRoles=YES .Net 3.5 does install. So how do you make it preselected in the Wizard also? Put something in CustomSettings.ini?

  • Anonymous
    June 25, 2016
    The comment has been removed