using System Center 2012 Configuration Manager – Part 13. Deploying Windows 8 X64 with custom Start screen

In Part 1 of this series we created our new LAB, we got the System Center 2012 Configuration Manager ISO and extracted it, then copied it to our Active Directory server. We then created the System Management container in AD, delegated permissions to the container, extended the Schema for Configuration Manager. We then opened TCP ports 1433 and 4022 for SQL replication between sites, installed some prerequisites like .NET Framework 4.0, added some features and then downloaded and installed SQL Server 2008 R2 SP1 CU6. We then configured SQL Server using SQL Server Management Studio for security and memory configurations prior to running the Configuration Manager 2012 setup to assess server readiness. Finally we installed a central administration site (CAS).  In Part 2 we setup our Primary server with SQL Server 2008 R2 SP1 CU6. We then installed Configuration Manager 2012 on our primary server (P01) and verified that it was replicating to our central administration site (CAS) server. Then we configured Discovery methods for our Hierarchy and then configure Boundaries and Boundary Groups.


In Part 3 we configured Discovery methods and configured boundaries and created a boundary group, we then configured them for Automatic Site Assignment and Content Location. In Part 4 we added the Application Catalog roles to our Hierarchy. We then configured Custom Client Device Settings and then deployed those settings to the All Systems collection on site P01. After that we created Custom Client User Settings and deployed them to the All Users collection in order to allow users to define their own User and Device affinity settings. In Part 5 we installed the WSUS server role (it is required for the Software Update Point role). We then installed the Software Update Point role on our CAS and Primary servers and we configured the SUP to support ConfigMgr Client Agent deployment which is a recommended Best Practice method of deploying the Configuration Manager Client Agent.


In Part 6 we prepared our server for the Endpoint Protection Point role, and installed that role before configuring custom client device settings and custom antimalware policies. We then deployed those custom client device settings and custom antimalware policies to our newly created Endpoint Protection collections. In Part 7 we added operating system deployment ability to our hierarchy by adding Windows 7 X64. We used the Build and Capture process to capture a WIM image which we can later deploy to targeted computers using network boot (PXE). PXE boot requires specific settings on our distribution points and the boot images used to deliver the operating system WIM images were therefore also enabled for PXE support.

In Part 8 we added Applications to our Software Library and configured the requirements in the Deployment Type to add new abilities to the application delivery process. We monitored the approval process of our applications and saw how requirements can influence whether an application is installed or not and we noted the difference between deploying to Users versus Devices. Now we will take a look at how Automatic Deployment Rules can be used to automate the deployment of windows updates on Patch Tuesday using a recurring schedule to patch your infrastructure using Software Updates.

In Part 9 we created some folders and collections using a PowerShell script to make targeting of Windows Updates easier, we then performed a full synchronization of our Software Update Point before creating an Automatic Deployment Rule (ADR) for Windows 7 monthly updates for Patch Tuesday.  In Part 10 we monitored our previously created ADR and monitored the downloading and deployment of those updates both to the distribution points and finally to our Windows 7 client computers. We reviewed the process in fine detail in order to understand the sequence of events when an ADR is run on a schedule.


In Part 11 we upgraded our Hierarchy to System Center 2012 Configuration Manager Service Pack 1. In Part 12 we used the new Build and Capture process in Configuration Manager 2012 Service Pack 1, to capture a master image of Windows 8 Enterprise with the .NET 3.5 feature pre-installed, in addition we did most of it using Powershell cmdlet’s which are now part of Configuration Manager, now we will deploy that captured image.


Tip: This is a long post, give yourself plenty of time to go through it all, it’s worth it.




Having a captured image (master image with FAT applications such as Microsoft Office 2013, this image would typically be captured with as many Windows updates that are available at that time) is essential for this part of the series. We use that captured image to save time in Deploying new computers with Windows 8, the end result is quicker deployments (less time waiting for Office to install, less time waiting for Windows updates to install), and a predictable, automated, professional, Enterprise ready experience for end users as they will have a clean Start screen with only the ‘approved’ applications for your organization present.


Step 1. Design your Windows 8 Start Screen [Optional]

Perform the following on the W81 virtual machine as Administrator


At the end of Part 12, we were left with a newly installed virtual machine with Windows 8 Enterprise joined to a workgroup, this installation had some windows updates installed, some applications and of course .NET 3.5 installed, we can still use that virtual machine to create a special file used later in our deploy process, however this involves some manual steps.


Login to our Build and Capture machine (W81) as administrator,


start screen before customization.png


using your preferences, remove tiles that you don’t want to appear in your corporate image by right clicking and choosing the appropriate action, for example you can remove games by choosing Unpin from start to remove it from the Start Screen or Uninstall to uninstall it altogether.


choose uninstall.png


Once you’ve unpinned (or uninstalled) some applications, your start screen will look something like this


unpinned apps.png


Now you want to add your Enterprise apps, if they don’t appear as tiles already, choose right click and select All Apps


all apps.png


all your apps appear, select the ones you want to appear by right clicking the tile and choose Pin to start


pin to start.png


keep on doing this until you’ve added the apps you want in your start screen


newly designed Windows 8 start screen.png


Next we need to sysprep this image in order to generate the AppsFolderLayout.bin file that we need for the deploy task sequence, open a command prompt and browse to C:\Windows\System32\Sysprep and run sysprep.exe, choose Enter System Out-Of-Box Experience (OOBE), enable Generalize like in the screenshot and select Shutdown.


sysprep options.png


once sysprep has run it will power off the computer.


vm powered off.png


Next we will PXE boot this virtual machine to the PXE password prompt, we do this as we are not interested in reinstalling or recapturing this image, in fact we only want one file from the computer, this file will get overwritten (and be removed) if we let the computer boot into sysprep (with the Generalize option), so booting to the network (PXE) will allow us to get to the file. PXE boot the computer and when the PXE password prompt appears press F8 to open a command prompt, then browse to the drive letter that holds windows (probably D:\) and to the following path:-




in there you should see a file called appsFolderLayout.bin


AppsFolderLayout bin.png


copy that file somewhere safe like to a network share or USB key, I use the command below to connect to my CAS server’s default D:\ drive admin share


net use h: \\cas\d$

it may prompt for credentials, enter credentials that have the adequate permissions and then copy the file to the share


copy the file to your CAS or some other network share.png


Step 2. Create the AppsFolderLayout package and distribute it

Perform the following on the CAS server as SMSadmin


Once you have a copy of the AppsFolderLayout.bin file from Step 1, create a new folder in your OS sources called appsfolderlayout and copy the appsfolderlayout.bin file to that folder. We will create a new package in powershell pointing to that source eg: \\cas\sources\os\appsfolderlayout


New-CMPackage –Name "AppsFolderLayout" –Version "X64" –Description "Windows 8 Start Screen customizations, © April 2013." –Language "English" –Manufacturer "Microsoft" –Path "\\cas\sources\os\appsfolderlayout"


appsfolderlayout bin package creation in powershell.png


Ok now that we’ve created the package using PowerShell, the next job is to distribute it to our distribution point P01, so issue the following command


Start-CMContentDistribution –PackageName "AppsfolderLayout" –DistributionPointName "P01.server2008r2.lab.local"

start-cmcontentdistribution for appsfolderlayout package.png


Step 3. Distribute the User State Migration Tool for Windows 8 package

Perform the following on the CAS server as SMSadmin


Tip: When you upgraded to Service Pack 1, part of the installation used the Windows ADK source files to create a User State Migration Tool package called User State Migration Tool for Windows 8. That mouthful could be easily abbreviated to USMT 5, but either way, the package (which is added as part of the upgrade) is not distributed to any distribution points and that means any task sequence that references it will fail.


To resolve this we need to distribute our package by right clicking and choose Distribute Content and continuing through the wizard, or be cool and do it with powershell.


The PowerShell cmdlet (Start-CMContentDistribution) is as follows, replace the DistributionPointName with your own distribution point FQDN.



Start-CMContentDistribution -PackageName "User State Migration Tool for Windows 8" –DistributionPointName "P01.server2008r2.lab.local"




you can once again monitor the distribution using CMTrace by opening the distmgr.log


distmgr log.png


and verify in the console if you are a traditionalist


content is installed.png


Step 4. Add the previously captured Operating System Image

Perform the following on the CAS server as SMSadmin


In the previous guide we captured our Windows 8 master image and now we need to add that captured image to Configuration Manager and then distribute it to the distribution points.


Note: There are hundreds of PowerShell CMDlets which help us automate every day tasks in Configuration Manager, and the Add an Operating System Image step has  a CMDlet for that too, called New-CMOperatingSystemImage. However, it’s not working correctly at present (it creates the image but you will not be able to distribute the image after creation) therefore until further notice, please add the operating system image manually in the console. The Powershell cmdlet is listed below for your reference, but I repeat it is not working at present (you will get the following error when you try to distribute the image via powershell “Warning there is no object that can distribute content”) therefore please add the Operating System image manually.


add operating system image.png


continue through that wizard, I mark the version info as (Captured) to make things clearer later on…


add operating system image completed.png


Tip: Here is the corresponding way of doing it using PowerShell *remember, this cmdlet doesn’t work at present*. Issue the following command New-CMOperatingSystemImage as shown below:-


New-CMOperatingSystemImage -Name "Windows 8 Enterprise X64" -Path "\\cas\sources\os\captures\windows8x64.wim" -Version "(Captured)"



Step 5. Distribute the Operating System Image

Perform the following on the CAS server as SMSadmin


After you’ve added the operating system image,  we want to distribute the image, we’ll do that with the Start-CMContentDistribution powershell cmdlet.



Start-CMContentDistribution –OperatingSystemImageName "Windows 8 Enterprise X64" –DistributionPointName "P01.server2008r2.lab.local"

review the distribution of the image to your distribution point via distmgr.log or  via the Configuration Manager console or via PowerShell using the following command, replace the PackageID listed below with the ImageID in your Configuration Manager console or


Get-WmiObject –NameSpace Root\SMS\Site_CAS –Class SMS_PackageStatusRootSummarizer –Filter "PackageID='CAS0002b'"

Check for Installed=1 and Targeted=1 in the output, this means that the package is distributed successfully.


verify package distribution via powershell.png



Step 6. Create the Deploy Windows 8 Task Sequence

Perform the following on the CAS server as SMSadmin


Now it’s time to create a Deploy Task Sequence, this task sequence will be used to deploy our previously captured image. This task sequence can be as flexible, simple or complex as you want (here is an example of a complex Deploy Windows 8 task sequence using MDT 2012 Update 1 integrated with Configuration Manager).


In the Operating System node, select Task Sequences, expand our Windows 8 folder and select the Deploy folder, right click and choose Create Task Sequence.


create task sequence.png


choose Install an Existing image package


Install an Existing image package.png


give the task sequence a suitable name and description, choose the X86 boot image


Task Sequence Information.png


for the Install Windows step, browse to our captured image,


captured wim.png


you’ll see the Captured wim clearly if you gave it an appropriate name earlier…enter an Administrator password if you want, and select any additional options such as BitLocker


install windows.png


for the Configure Network step, select join a domain and enter the domain join user account credentials, make sure to Verify the credentials as shown in the screenshot below


Configure Network.png


continue with the wizard through to completion (next next next, add any additional applications if you wish)


Deploy Task Sequence completed.png


Step 7. Edit the Task Sequence

Perform the following on the CAS server as SMSadmin


In the Configuration Manager console, right click on the Deploy Windows 8 task sequence and choose edit


Edit task sequence.png


Locate the Partition Disk 0 step, if the primary partition (for the Operating System) is set to a fixed size as in the screenshot below then  you’ll need to change it (otherwise the task sequence will fail on any computer that has a disc smaller than 29GB in size)


Here’s the step before the change


primary size is 30368MB.png


change it to Use a percentage of remaining free space instead (100%)


use a percentage of remaining free space.png


so that the Format and Partition Disk step now looks like this


Format and Partition Disk.png


Once done apply your changes and then locate the Apply data image step and disable it in the options tab (it is not needed for our purposes)


disable this step.png


create a new Run Command Line step after the Apply Operating System image step, rename it to xcopy AppsFolderLayout.bin locally


in the run command line step use the following xcopy command to copy our previously saved appsfolderlyout.bin file to the default users profile, this will force our start screen changes on all users that login to this computer



xcopy ".\*.*" "D:\Users\Default\AppData\Local\Microsoft\Windows" /D /E /C /I /Q /H /R /Y /S

beneath this, select our previously created AppsFolderLayout package as shown in the screenshot below


xcopy command.png


change the options on this step to only run if D:\Windows exists as per the screenshot below


windows on d.png


copy the entire step, and then replace all references to D:\ to C:\ in that copied step both on the run command line and options tab (we could use variables to do this in one step by using a checkdriveletter.wsf script but that is beyond the scope of this post)


if c windows exists.png


Basically what the above two steps do is verify which drive (C: or D: has Windows on it, and copies the appsfolderlayout.bin file to the respective drive letter default users profile



Next edit the built in Enable BitLocker step and add the following wmi query for root\cimv2 so that it won’t run on Virtual Machines otherwise the task sequence will bomb out on hyperV virtual machines…


select * from Win32_ComputerSystem where Model <> "Virtual Machine"



if All the conditions are true.png


Tip: if you want to Add drivers for different hardware based on WMI queries then see Step 2 in the following guide.


Step 8. Deploy the Task Sequence

Perform the following on the CAS server as SMSadmin


Next we want to deploy our Deploy Windows 8 X64  task sequence to our Deploy Windows 8 collection (if you have not yet created that collection do so now, it should be a device collection with no members).


We will use the following PowerShell CMDLet: Start-CMTaskSequenceDeployment



Start-CMTaskSequenceDeployment –Name "Deploy Windows 8 X64" –CollectionName "Deploy Windows 8" –Comment "© April 2013" –Deploypurpose "Available"



Next, manually edit the deployment so that it points to Media and PXE clients as per the screenshot below (this is necessary otherwise you won’t see the deployment via PXE boot)


edit deployment settings.png


or use the modified cmdlet in Cumulative Update 1 which does allow for that switch



Start-CMTaskSequenceDeployment –TaskSequencePackageId "CAS0002F" –CollectionName "Deploy Windows 8" –Comment "© April 2013" –Deploypurpose "Available" –MakeAvailableTo "ClientsMediaAndPXE"



Next, add some computers to the Deploy Windows 8 collection using Queries or Direct Membership either manually or using PowerShell via the following cmdlet (Note: SP1 CU1 or later)



Import-CMComputerInformation –ComputerName = "W82" –MacAddress= "00:11:22:33:44:55" –CollectionName= "Deploy Windows 8"



Step 9. Deploy Windows 8 to a computer via PXE

Perform the following on a new computer


Now everything is in place to allow us to start Deploying Windows 8, so PXE boot a new computer press F12 when prompted


PXE boot new computer.png


and select the Deploy Windows 8 X64 task sequence


Deploy Windows 8 X64.png


off it goes… it will download and then apply the previously captured Windows 8 Operating System


Applying operating system.png


and Windows gets ready


getting ready.png


before finalizing settings


Finalizing your settings.png


After that it will Install Updates (if any are targeted towards that collection) and Install your Applications


install your applications.png

and the process is complete, login as a testuser and you will see the Start screen customizations which you did in Step 1. have been applied correctly, cool huh ?

job done.png

and any applications you installed in the Deploy Windows 8 X64 task sequence will also be installed

new application installed on desktop.png

That’s it ! until next time, adios !

cheers, niall.



In this part of the series, you’ve learned how to customize the Windows 8 start screen to suit your organizations needs on a  previously captured image, you’ve learned the  steps required to successfully deploy that customized  image and finally you’ve done most of the work using PowerShell Cmdlets (where available). Congratulations !

Recommended Reading:

This entry was posted in ConfigMgr 2012, Windows 8. Bookmark the permalink.

2 Responses to using System Center 2012 Configuration Manager – Part 13. Deploying Windows 8 X64 with custom Start screen

  1. fabdub says:

    I have tried so many times to use the AppsFolderLayout method but if I do it, it takes over 2-3mins to login for the 1rst time (only) for every different user!

    If I get rid of the AppsFolderLayout file, the login is under a minute.

    Have you ever seen this?


  2. ncbrady says:

    I would imagine that what you are seeing is normal, it’s copying the ‘changes’ to the default user profile to the New profile and this happens only once,

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.