Deploying Windows Server 2012 including Roles and Features with ConfigMgr 2012

This week, for me, was all about deploying Windows Server 2012 (which is currently still in RC), with ConfigMgr 2012 SP1 (which is currently still in CTP) and MDT 2012 Update 1 (which is currently still in BETA). So it was one big test case, but it showed a lot of possibilities for the coming releases.

For those who follow me on twitter this post will contain a lot more information about the short tweets that I already did the last week. For instance, the need for running your own Build-and-Capture Task Sequence got a lot smaller with Windows Server 2012 (and Windows 8), because the default install.wim will install on the C-drive ánd ConfigMgr 2012 brings Offline Servicing. So when you’re used to deploy a thin image, you can use the default WIM -image and schedule the Updates on that image through ConfigMgr 2012 (without running a Build-and-Capture).

But what I really want to show in this post are the different possibilities for deploying Windows Server 2012 including some random Roles and Features. The three most used options are Powershell, DISM and MDT. The next examples will all install the same role (WDS Transport Server) and the same feature (BranchCache). Why these features? Well, actually just because they fitted nice together in a screenshot with the MDT –method.

PowershellRolesFeatures_PowerShell

The first method that I want to show is deploying Windows Server 2012 and install Roles and Features via Powershell. This can be done quickly, by performing the following steps:

  • Add a Configuration Manager Client Package (default)
  • Add a x64 Boot Image (default)
  • Add a Operating System Image of Windows Server 2012 (default install.wim)
  • Create a Install an existing image package –Task Sequence, with the mentioned packages of the previous steps (no need for the steps State Migration, Include Updates and Install Updates).
  • Edit the new Task Sequence and add a Run Command Line –step (see picture). Now add the command line Powershell.exe Install-WindowsFeature –Name WDS-Transport, BrancheCache.

Note: To find the name of the features that you want to install, just use: Powershell.exe Get-WindowsFeature. Also good to know, in Powershell you don’t have to specify the top-level role/ feature before you can install a sub-level feature.

DismRolesFeatures_DISM

The second method that I want to show is deploying Windows Server 2012 and install Roles and Features via Dism. This can be done quickly, by performing the following steps:

  • Add a Configuration Manager Client Package (default)
  • Add a x64 Boot Image (default)
  • Add a Operating System Image of Windows Server 2012 (default install.wim)
  • Create a Install an existing image package –Task Sequence, with the mentioned packages of the previous steps (no need for the steps State Migration, Include Updates and Install Updates).
  • Edit the new Task Sequence and add a Run Command Line –step (see picture). Now add the command line Dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Deployment-Services /FeatureName:Microsoft-Windows-Deployment-Services-Transport-Server /FeatureName:PeerDist.

Note: To find the name of the features that you want to install, just use: Dism.exe /Online /Get-Features. Also good to know, in Dism you do have to specify the top-level role/ feature before you can install a sub-level feature.

MDT 2012 Update 1RolesFeatures_MDT

The third method that I want to show is deploying Windows Server 2012 and install Roles and Features via MDT 2012 Update 1 (which is currently still in BETA). This can be done quickly, by performing the following steps:

  • Install MDT 2012 Update 1
  • Run Configure ConfigMgr Integration
  • Add a Configuration Manager Client Package (default)
  • Add a x64 Boot Image (default)
  • Add a Operating System Image of Windows Server 2012 (default install.wim)
  • Create a Microsoft Deployment Toolkit Package
  • Create a Install an existing image package –Task Sequence, with the mentioned packages of the previous steps (no need for the steps State Migration, Include Updates and Install Updates).
  • Edit the new Task Sequence and add a Use Toolkit Package –step. Now add a Install Roles and Features –step. Here you can select the Operating System, the Roles and the Features (see picture).

Note: During my testing I noticed that this doesn’t work with Windows Server 2012 RC, yet, as I get an Unknown OS Current version error in my logs. I’ll assume that this is fixed with the full releases of both products.

How to Capture User Files and Settings Offline (WinPE) or Online (FullOS) using hard-links with ConfigMgr 2012 B2

This post will be another one about capturing user files and settings, but this time with ConfigMgr 2012 B2. I hope everyone still remembers my post about capturing user files and settings in ConfigMgr 2007 (and especially how much work it was). Usually I’m not really into writing ‘step-by-step guides’, but this time I will make an exception. The reason why I’m making this exception is that I want to show how easy it’s done now. It’s becoming really close to just next-next-finish. There are only four packages needed for/ by this step-by-step:

  1. Boot image package
  2. ConfigMgr client package
  3. USMT 4.0 package
  4. Image package

When these packages are present, right-click the Task Sequence node and select Create Task Sequence. After that follow the step-by-step below.

 

On the Create a New Task Sequence page, select Install an existing image package and click Next

CTSW_NewTS

On the Task Sequence Information page, fill in a Task sequence name, Browse for the Boot image and click Next.

CTSW_TSInf

On the Install Windows page, browse for the Image package, uncheck Partition and format the target computer before installing the operating system, (optional) fill in a Product key, (optional) select Always use the same administrator password and click Next.

Note: It’s really important to uncheck Partition and format the target computer before installing the operating system, because otherwise it’s not possible to store the data locally.

CTSW_InstWin

On the Configure Network page, (optional) select Join a domain, Browse for the Domain and Domain OU, Set an Account and click Next.

CTSW_ConfNetw

On the Install ConfigMgr page, Browse for the ConfigMgr client Package, (optional) fill in the Installation Properties and click Next.

CTSW_InstClnt

On the State Migration page, select Capture user settings, Browse for the USMT Package, select Save user settings locally and click Next.

CTSW_StatMigr

On the Install Updates page, click Next.

Note: As these settings are not part of the step-by-step, they are left to default.

CTSW_InclUpd

On the Install Applications page, click Next.

Note: As these settings are not part of the step-by-step, they are left to default.

CTSW_InstAppl

On the Summary page, click Next.

image

On the Progress page, just wait…

CTSW_Prog

On the Confirmation page, click Close.

CTSW_Conf

Now the basic task sequence is ready and it only needs a little bit of ‘tweaking’. This can be done with the Task Sequence Editor. Also notice that the basic task sequence already sets the ‘extra’ task sequence variable OSDStateStorePath.

Select the Capture Files and Settings Group, go to the Options tab and Remove the Conditions (or remove the whole top Group).

Note: This is necessary to make it possible to also capture user files and settings  in WinPE.

image

Select the Capture User Files and Settings Step (optional: change the name), select Copy by using file system access and check Continue if some files cannot be captured and Capture locally by using links instead of copying files. Now go to the Options tab and add the condition of _SMSTSInWinPE equals FALSE.

Note: This is necessary to make this step only run in FullOS.

TSed_CaptFullOS

Add an extra Capture User State Step (optional: change the name), select Copy by using file system access and check Continue if some files cannot be captured, Capture locally by using links instead of copying files and Capture in off-line mode (Windows PE only). Now go to the Options tab and add the condition of _SMSTSInWinPE equals TRUE.

Note: This is necessary to make this step only run in WinPE.

TSed_CaptWinPE

The task sequence is now done and ready to be deployed. The result is a task sequence that will do a hard-link migration in both, WinPE or FullOS.