This is the first of a three-part series on Windows 10 OSD using MDT and SCCM.
I’m using the Windows 10 Enterprise 64-bit 1511 ISO and MDT 2013 Update 2 for this post. I’m going to assume you already have your MDT build environment up and running and have access to the Windows 10 installation ISO as well as any applications you wish to add to your reference image.
Here’s a quick overview of how this will work:
- We’ll start off with a blank/vanilla Windows 10 ISO which we’ll import into MDT
- We’ll also add our applications to MDT
- We’ll then create a task sequence instructing it to first install this blank/vanilla Windows 10 and then install our applications and also enable .NET Framework 3.5 feature
- We then run this task sequence on a virtual machine which will leave us with a Windows 10 installation (with our applications installed and .NET Framework 3.5 enabled)
- We customize Windows, customize the default user profile and effectively turn it into a Reference Virtual Machine
(The next post will cover creating a task sequence to capture this reference machine image and creating an unattend.xml answer file. Running this task sequence on the Reference Virtual Machine will capture an image of our customized Windows 10 and leave us with a “Reference Windows 10 Image”. The final post in the series will cover using SCCM to deploy our “Reference Image” onto a computer)
Step 1) Populating the MDT Deployment Share
Before we can build our reference image we need to populate our deployment share in MDT by importing the Windows 10 media and adding applications.
1.1) Import the Windows 10 Media into MDT
a) To start off, mount your Windows 10 ISO and make a note of the drive it’s mounted to. Or you can use something like 7-zip to extract the contents of the ISO into a folder of your choice.
b) Open the Deployment Workbench and expand your deployment share. Right-click on Operating Systems, create a new folder called “Windows 10”. Right-click on your newly created folder and select “Import Operating System” and enter/choose the following options in the wizard:
- Full set of source files
- Source directory: Choose the drive or directory where you mounted/extracted the ISO
- Destination directory name: “Windows 10 ENT x64 (1511)” or something similar to suit your naming convention
c) After importing is completed right-click on the imported Windows 10 image, click on Properties and then change the name of the image to match the destination directory name you gave in the wizard. (This will make it easier to find the imported OS on your computer. A folder matching the name you gave the OS can be found in %deployroot%\Operating Systems which will contain the source files should you need it in future)
This is what my Operating Systems node looks like in Deployment Workbench.
1.2) Add Applications
Strictly speaking this is an optional step but the idea is to automate the process of building the reference image. If you have a few applications which are going to be on every Windows 10 computer anyway (such as Microsoft Office, Silverlight, etc) then it makes sense to include it in your reference image to begin with. If you have to rebuild your reference image then you won’t have to install these applications manually.
a) Here we’ll only install the Visual C++ runtimes to keep things simple. Download the Visual C++ runtimes from here. Extract the zip to the C: drive. Here’s what the extracted zip should look like:
The extracted folder will contain subfolders for each runtime version. Each of these subfolders will contain x64 and x86 installation files along with a .cmd file for silently installing both. This way we can install both x64 and x86 installation files in one go instead of having to separately add them to our MDT deployment share.
b) On the Deployment Workbench right-click and create a new folder under Applications and name it “Microsoft”. Right-click on the folder you created and select New Application. Choose/type the following options in the wizard:
- Application with source files
- Application Name: Install – Visual C++ 2005 SP1 – x86 x64
- For source directory browse to the directory where you extracted the zip file above and choose the first folder (VisualC++2005SP1)
- Leave the destination directory to be created the same as the name of the application
- Command line: cmd.exe /C InstallVC.cmd
c) Repeat the above steps for each of the other runtimes. This is what you should end up with:
Step 2) Creating the Task Sequence to Build the Reference Image
2.1) Create the Initial Task Sequence
a) Expand the Task Sequences node in Deployment Workbench and create a folder called “Windows 10 x64”. Right-click on the folder and select “New Task Sequence”.
b) Go through the Wizard and enter/choose the following options:
- Task Sequence Id: buildw10-1511
- Task sequence name: Build Reference Image – Windows 10 ENT x64 (1511)
- Template: Standard Client Task Sequence
- Select OS: choose the Windows 10 OS you imported earlier
- Specify Product Key: Do not specify a product key at this time
- Full Name: Enter the name of your organisation
- Organization: Enter the name of your organisation
- Internet Explorer home page: about:blank
- Do not specify an Administrator password at this time
2.2) Edit the Task Sequence to Enable .NET Framework , Add Applications and Enable Windows Update
a) Right-click on the task sequence you just created, click on Properties and then click on the Task Sequence tab. Make the following changes to the task sequence (under the State Restore group):
b) Click on the Tattoo action, click on Add > Group and rename it to “Custom Tasks (Pre-Windows Update)”
c) Click on Add > Roles > Install Roles and Features. Put a check next to .NET Framework 3.5
d) Click on Add > General > Install Application. Choose “Install a Single Application” and choose “Install – Visual C++ 2005 SP1 – x86 x64” application. Repeat this for all the other runtimes.
e) After the last runtime is added, click on Add > General > Restart Computer
f) Enable the Windows Update (Pre-Application Installation) action
g) Enable the Windows Update (Post-Application Installation) action
This is what you should end up with:
h) Right-click on your deployment share and select “Update Deployment Share”. Choose “Completely regenerate the boot images” and finish the wizard.
Step 3) Building the Reference Windows 10 Image on a Virtual Machine
a) Browse to the root of your deployment share on the computer (which you can see in the Deployment Workbench under the Deployment Shares node). In my example this is in C:\MDTLab.
b) Open the “Boot” folder within this directory and you’ll find a LiteTouchPE_x64.iso. Copy this over and use it to boot your virtual machine into the MDT Deployment Wizard. What you see once inside the Deployment Wizard will depend on your CustomSettings.ini and bootstrap.ini configuration files.
In my case I bypass the initial authentication along with most of the wizard panes by using the bootstrap.ini and CustomSettings.ini files. In my case most of the wizard panes are hidden and I’m presented with a list of my task sequences as seen below:
c) Select the task sequence you created in this post to build your Windows 10 reference image. Complete the rest of the wizard. When you click on Begin your task sequence will start running, which will look something like this:
This will install Windows 10 on your virtual machine along with the Visual C++ runtimes and enable the .NET Framework 3.5 feature. You can then proceed with the next step of customizing Windows and the user profile.
Step 4) Customizing Windows and the Default User Profile
Once the task sequence finishes you’ll notice Windows is already logged in with the local Administrator account.
Now, this is significant – the idea is you customize this local Administrator profile as if it was the default user profile. So after capturing and then deploying this image the local Administrator user profile will be copied over to the default user profile (provided you use the unattend.xml answer file correctly – this will be covered in an upcoming post).
Having followed through steps 1 to 3 of this post you should end up with Windows 10 ready to be customized. This is where you would start ‘branding’ your own reference image. You can change the wallpaper, lock screen, desktop icons and organize the Start Menu to your liking.