Deploy Windows 10 With The Microsoft DeploymentToolkit (MDT)
Deploy Windows 10 With The Microsoft DeploymentToolkit (MDT)
Applies to
Windows 10
This article provides an overview of the features, components, and capabilities of the Microsoft Deployment
Toolkit (MDT). When you have finished reviewing this information, see Prepare for deployment with MDT.
About MDT
MDT is a unified collection of tools, processes, and guidance for automating desktop and server deployment.
You can use it to create reference images or as a complete deployment solution. MDT is one of the most
important tools available to IT professionals today.
In addition to reducing deployment time and standardizing desktop and server images, MDT enables you to
more easily manage security and ongoing configurations. MDT builds on top of the core deployment tools in the
Windows Assessment and Deployment Kit (Windows ADK) with more guidance and features designed to reduce
the complexity and time required for deployment in an enterprise environment.
MDT supports the deployment of Windows 10, and Windows 7, Windows 8.1, and Windows Server. It also
includes support for zero-touch installation (ZTI) with Microsoft Configuration Manager.
IMPORTANT
For more information about MDT supported platforms, see MDT Release Notes and MDT FAQ.
Deployment shares
A deployment share is essentially a folder on the server that is shared and contains all the setup files and scripts
needed for the deployment solution. It also holds the configuration files (called rules) that are gathered when a
machine is deployed. These configuration files can reach out to other sources, like a database, external script, or
web server to get more settings for the deployment. For Lite Touch deployments, it's common to have two
deployment shares: one for creating the reference images and one for deployment. For Zero Touch, it's common
to have only the deployment share for creating reference images because Configuration Manager deploys the
image in the production environment.
Rules
The rules (CustomSettings.ini and Bootstrap.ini) make up the brain of MDT. The rules control the Windows
Deployment Wizard on the client and, for example, can provide the following settings to the machine being
deployed:
Computer name
Domain to join, and organizational unit (OU) in Active Directory to hold the computer object
Whether to enable BitLocker
Regional settings You can manage hundreds of settings in the rules. For more information, see the Microsoft
Deployment Toolkit resource center.
Example of an MDT rule. In this example, the new computer name is being calculated based on PC- plus the first
seven (Left) characters from the serial number
Boot images
Boot images are the Windows Preinstallation Environment (Windows PE) images that are used to start the
deployment. They can be started from a CD or DVD, an ISO file, a USB device, or over the network using a Pre-
Boot Execution Environment (PXE) server. The boot images connect to the deployment share on the server and
start the deployment.
Operating systems
Using the Deployment Workbench, you import the operating systems you want to deploy. You can import either
the full source (like the full Windows 10 DVD/ISO) or a custom image that you've created. The full-source
operating systems are primarily used to create reference images; however, they also can be used for normal
deployments.
Applications
Using the Deployment Workbench, you also add the applications you want to deploy. MDT supports virtually
every executable Windows file type. The file can be a standard .exe file with command-line switches for an
unattended install, a Microsoft Windows Installer (MSI) package, a batch file, or a VBScript. In fact, it can be just
about anything that can be executed unattended. MDT also supports the new Universal Windows apps.
Driver repository
You also use the Deployment Workbench to import the drivers your hardware needs into a driver repository
that lives on the server, not in the image.
Packages
With the Deployment Workbench, you can add any Microsoft packages that you want to use. The most
commonly added packages are language packs, and the Deployment Workbench Packages node works well for
those packages. You also can add security and other updates this way. However, we generally recommend that
you use Windows Server Update Services (WSUS) for operating system updates. The rare exceptions are critical
hotfixes that aren't available via WSUS, packages for the boot image, or any other package that needs to be
deployed before the WSUS update process starts.
Task sequences
Task sequences are the heart and soul of the deployment solution. When creating a task sequence, you need to
select a template. The templates are located in the Templates folder in the MDT installation directory, and they
determine which default actions are present in the sequence.
You can think of a task sequence as a list of actions that need to be executed in a certain order. Each action can
also have conditions. Some examples of actions are as follows:
Gather. Reads configuration settings from the deployment server.
Format and Par tition. Creates the partition(s) and formats them.
Inject Drivers. Finds out which drivers the machine needs and downloads them from the central driver
repository.
Apply Operating System. Uses ImageX to apply the image.
Windows Update. Connects to a WSUS server and updates the machine.
NOTE
It's preferable to use a complete build and capture instead of the Sysprep and Capture task sequence. A complete
build and capture can be automated, whereas Sysprep and Capture can't.
Standard Client task sequence. The most frequently used task sequence. Used for creating reference
images and for deploying clients in production.
Standard Client Replace task sequence. Used to run User State Migration Tool (USMT) backup and
the optional full Windows Imaging (WIM) backup action. Can also be used to do a secure wipe of a
machine that is going to be decommissioned.
Custom task sequence. As the name implies, a custom task sequence with only one default action (one
Install Application action).
Standard Ser ver task sequence. The default task sequence for deploying operating system images to
servers. The main difference between this template and the Standard Client task sequence template is
that it doesn't contain any USMT actions because USMT isn't supported on servers.
Lite Touch OEM task sequence. Used to preload operating systems images on the computer hard
drive. Typically used by computer original equipment manufacturers (OEMs) but some enterprise
organizations also use this feature.
Post OS Installation task sequence. A task sequence prepared to run actions after the operating
system has been deployed. Useful for server deployments but not often used for client deployments.
Deploy to VHD Client task sequence. Similar to the Standard Client task sequence template but also
creates a virtual hard disk (VHD) file on the target computer and deploys the image to the VHD file.
Deploy to VHD Ser ver task sequence. Same as the Deploy to VHD Client task sequence but for
servers.
Standard Client Upgrade task sequence. A simple task sequence template used to perform an in-
place upgrade from Windows 7, Windows 8, or Windows 8.1 directly to Windows 10, automatically
preserving existing data, settings, applications, and drivers.
Selection profiles
Selection profiles, which are available in the Advanced Configuration node, provide a way to filter content in the
Deployment Workbench. Selection profiles are used for several purposes in the Deployment Workbench and in
Lite Touch deployments. For example, they can be used to:
Control which drivers and packages are injected into the Lite Touch (and generic) boot images.
Control which drivers are injected during the task sequence.
Control what is included in any media that you create.
Control what is replicated to other deployment shares.
Filter which task sequences and applications are displayed in the Deployment Wizard.
Logging
MDT uses many log files during operating system deployments. By default the logs are client side, but by
configuring the deployment settings, you can have MDT store them on the server, as well.
Note
The easiest way to view log files is to use Configuration Manager Trace (CMTrace), which is included in the
Configuration Manager Toolkit.
Monitoring
On the deployment share, you also can enable monitoring. After you enable monitoring, you'll see all running
deployments in the Monitor node in the Deployment Workbench.
See next
Prepare for deployment with MDT
Prepare for deployment with MDT
11/23/2022 • 9 minutes to read • Edit Online
Applies to
Windows 10
This article will walk you through the steps necessary to prepare your network and server infrastructure to
deploy Windows 10 with the Microsoft Deployment Toolkit (MDT). It covers the installation of the necessary
system prerequisites, the creation of shared folders and service accounts, and the configuration of security
permissions in the file system and in Active Directory.
Infrastructure
The procedures in this guide use the following names and infrastructure.
Network and servers
For the purposes of this article, we'll use three server computers: DC01 , MDT01 , and HV01 .
All servers are running Windows Server 2019.
You can use an earlier version of Windows Server with minor modifications to some procedures.
Note: Although MDT supports Windows Server 2008 R2, at least Windows Server 2012 R2 or later is
required to perform the procedures in this guide.
DC01 is a domain controller, DHCP server, and DNS server for contoso.com , representing the fictitious
Contoso Corporation.
MDT01 is a domain member server in contoso.com with a data (D:) drive that can store at least 200 GB.
MDT01 will host deployment shares and run the Windows Deployment Service. Optionally, MDT01 is also a
WSUS server.
A second MDT server (MDT02 ) configured identically to MDT01 is optionally used to build a
distributed environment for Windows 10 deployment. This server is located on a different subnet than
MDT01 and has a different default gateway.
HV01 is a Hyper-V host computer that is used to build a Windows 10 reference image.
See Hyper-V requirements below for more information about HV01.
Client computers
Several client computers are referenced in this guide with hostnames of PC0001 to PC0007.
PC0001 : A computer running Windows 10 Enterprise x64, fully patched with the latest security updates, and
configured as a member in the contoso.com domain.
Client name: PC0001
IP Address: DHCP
PC0002 : A computer running Windows 7 SP1 Enterprise x64, fully patched with the latest security updates,
and configured as a member in the contoso.com domain. This computer is referenced during the migration
scenarios.
Client name: PC0002
IP Address: DHCP
PC0003 - PC0007 : These are other client computers similar to PC0001 and PC0002 that are used in this
guide and another guide for various scenarios. The device names are incremented for clarity within each
scenario. For example, PC0003 and PC0004 are running Windows 7 just like PC0002, but are used for
Configuration Manager refresh and replace scenarios, respectively.
Storage requirements
MDT01 and HV01 should have the ability to store up to 200 GB of files on a data drive (D:). If you use a
computer with a single system partition (C:), you'll need to adjust some procedures in this guide to specify the C:
drive instead of the D: drive.
Hyper-V requirements
If you don't have access to a Hyper-V server, you can install Hyper-V on a Windows 10 or Windows 8.1
computer temporarily to use for building reference images. For instructions on how to enable Hyper-V on
Windows 10, see the Verify support and install Hyper-V section in the Windows 10 deployment test lab guide.
This guide is a proof-of-concept guide that has detailed instructions for installing Hyper-V.
Network requirements
All server and client computers referenced in this guide are on the same subnet. This isn't required, but each
server and client computer must be able to connect to each other to share files, and to resolve all DNS names
and Active Directory information for the contoso.com domain. Internet connectivity is also required to download
OS and application updates.
Domain credentials
The following generic credentials are used in this guide. You should replace these credentials as they appear in
each procedure with your credentials.
Active Director y domain name : contoso.com
Domain administrator username : administrator
Domain administrator password : pass@word1
Organizational unit structure
The following OU structure is used in this guide. Instructions are provided below to help you create the required
OUs.
TIP
You might need to temporarily disable IE Enhanced Security Configuration for administrators in order to download files
from the Internet to the server. This setting can be disabled by using Server Manager (Local Server/Properties).
To use the WSUS that you have installed on MDT01, you must also configure Group Policy on DC01 and
perform the neccessary post-installation configuration of WSUS on MDT01.
Install MDT
NOTE
MDT installation requires the following:
The Windows ADK for Windows 10 (installed in the previous procedure)
Windows PowerShell (version 5.1 is recommended; type $host to check)
Microsoft .NET Framework
On MDT01 :
1. Visit the MDT resource page and select Download MDT .
2. Save the MicrosoftDeploymentToolkit_x64.msi file to the D:\Downloads\MDT folder on MDT01.
Note : As of the publishing date for this guide, the current version of MDT is 8456 (6.3.8456.1000), but
a later version will also work.
3. Install MDT (D:\Downloads\MDT\MicrosoftDeploymentToolkit_x64.exe) with the default settings.
OUName,OUPath
Contoso,"DC=CONTOSO,DC=COM"
Accounts,"OU=Contoso,DC=CONTOSO,DC=COM"
Computers,"OU=Contoso,DC=CONTOSO,DC=COM"
Groups,"OU=Contoso,DC=CONTOSO,DC=COM"
Admins,"OU=Accounts,OU=Contoso,DC=CONTOSO,DC=COM"
Service Accounts,"OU=Accounts,OU=Contoso,DC=CONTOSO,DC=COM"
Users,"OU=Accounts,OU=Contoso,DC=CONTOSO,DC=COM"
Servers,"OU=Computers,OU=Contoso,DC=CONTOSO,DC=COM"
Workstations,"OU=Computers,OU=Contoso,DC=CONTOSO,DC=COM"
Security Groups,"OU=Groups,OU=Contoso,DC=CONTOSO,DC=COM"
Next, copy the following commands into a file and save it as ~\Setup\Scripts\ou.ps1 . Be sure that you're
viewing file extensions and that you save the file with the .ps1 extension.
Import-CSV -Path $home\Setup\Scripts\oulist.csv | ForEach-Object {
New-ADOrganizationalUnit -Name $_.ouname -Path $_.oupath
Write-Host -ForegroundColor Green "OU $($_.ouname) is created in the location $($_.oupath)"
}
Lastly, open an elevated Windows PowerShell prompt on DC01 and run the ou.ps1 script:
To use the Active Directory Users and Computers console (instead of PowerShell):
On DC01 :
1. Using the Active Directory Users and Computers console (dsa.msc), in the contoso.com domain level, create a
top-level OU named Contoso .
2. In the Contoso OU, create the following OUs:
a. Accounts
b. Computers
c. Groups
3. In the Contoso / Accounts OU, create the following underlying OUs:
a. Admins
b. Service Accounts
c. Users
4. In the Contoso / Computers OU, create the following underlying OUs:
a. Servers
b. Workstations
5. In the Contoso / Groups OU, create the following OU:
a. Security Groups
The final result of either method is shown below. The MDT_BA account will be created next.
Create the MDT service account
When creating a reference image, you need an account for MDT. The MDT build account is used for Windows
Preinstallation Environment (Windows PE) to connect to MDT01.
To create an MDT build account, open an elevated Windows PowerShell prompt on DC01 and enter the
following (copy and paste the entire command, taking care to notice the scroll bar at the bottom). This command
will create the MDT_BA user account and set the password to "pass@word1":
If you have the Active Directory Users and Computers console open you can refresh the view and see this new
account in the Contoso\Accounts\Ser vice Accounts OU as shown in the screenshot above.
Alternatively, CMTrace formatting makes the logs much easier to read. See the same log file below, opened in
CMTrace:
After installing the ConfigMgrTools.msi file, you can search for cmtrace and pin the tool to your taskbar for easy
access.
Next steps
When you've completed all the steps in this section to prepare for deployment, see Create a Windows 10
reference image.
Appendix
Sample files
The following sample files are also available to help automate some MDT deployment tasks. This guide doesn't
use these files, but they're made available here so you can see how some tasks can be automated with Windows
PowerShell.
Set-OUPermissions.ps1. This sample Windows PowerShell script creates a domain account and then
configures OU permissions to allow the account to join machines to the domain in the specified OU.
MDTSample.zip. This sample web service shows you how to configure a computer name dynamically using
MDT.
Create a Windows 10 reference image
11/23/2022 • 31 minutes to read • Edit Online
Applies to
Windows 10
Creating a reference image is important because that image serves as the foundation for the devices in your
organization. In this article, you 'll learn how to create a Windows 10 reference image using the Microsoft
Deployment Toolkit (MDT). You 'll create a deployment share, configure rules and settings, and import all the
applications and operating system files required to build a Windows 10 reference image. After completing the
steps outlined in this article, you 'll have a Windows 10 reference image that can be used in your deployment
solution.
NOTE
For more information about the server, client, and network infrastructure used in this guide, see Prepare for deployment
with MDT.
For the purposes of this article, we'll use three computers: DC01, MDT01, and HV01.
DC01 is a domain controller for the contoso.com domain.
MDT01 is a contoso.com domain member server.
HV01 is a Hyper-V server that will be used to build the reference image.
The Deployment Workbench with the MDT Build Lab deployment share.
Enable monitoring
To monitor the task sequence as it happens, right-click the MDT Build Lab deployment share, select
Proper ties , select the Monitoring tab, and select Enable monitoring for this deployment share . This step
is optional.
Configure permissions for the deployment share
In order to read files in the deployment share and write the reference image back to it, you need to assign NTFS
and SMB permissions to the MDT Build Account (MDT_BA) for the D:\MDTBuildLab folder
On MDT01 :
1. Ensure you're signed in as contoso\administrator .
2. Modify the NTFS permissions for the D:\MDTBuildLab folder by running the following command in an
elevated Windows PowerShell prompt:
NOTE
Due to the Windows limits on path length, we are purposely keeping the operating system destination directory short,
using the folder name W10EX64RTM rather than a more descriptive name like Windows 10 Enterprise x64 RTM.
2. Using the Deployment Workbench, expand the Deployment Shares node, and then expand MDT Build
Lab .
3. Right-click the Operating Systems node, and create a new folder named Windows 10 .
4. Expand the Operating Systems node, right-click the Windows 10 folder, and select Impor t
Operating System . Use the following settings for the Import Operating System Wizard:
Full set of source files
Source directory: (location of your source files)
Destination directory name: W10EX64RTM
5. After adding the operating system, in the Operating Systems / Windows 10 folder, double-click it and
change the name to: Windows 10 Enterprise x64 RTM Default Image . See the following example.
Depending on the DVD you used, there might be multiple editions available. For the purposes of this guide,
we are using the Windows 10 Enterprise image, but other images will also work.
Add applications
Before you create an MDT task sequence, you need to add applications and scripts you wish to install to the MDT
Build Lab share.
On MDT01 :
First, create an MDT folder to store the Microsoft applications that will be installed:
1. In the MDT Deployment Workbench, expand Deployment Shares \ MDT Build Lab \ Applications
2. Right-click Applications and then select New Folder .
3. Under Folder name , type Microsoft .
4. Select Next twice, and then select Finish .
The steps in this section use a strict naming standard for your MDT applications.
Use the "Install - " prefix for typical application installations that run a setup installer of some kind,
Use the "Configure - " prefix when an application configures a setting in the operating system.
You also add an " - x86 ", " - x64 ", or "- x86-x64 " suffix to indicate the application's architecture (some
applications have installers for both architectures).
Using a script naming standard is always recommended when using MDT as it helps maintain order and
consistency.
By storing configuration items as MDT applications, it's easy to move these objects between various solutions, or
between test and production environments.
In example sections, you 'll add the following applications:
Install - Microsoft Office 365 Pro Plus - x64
Install - Microsoft Visual C++ Redistributable 2019 - x86
Install - Microsoft Visual C++ Redistributable 2019 - x64
The 64-bit version of Microsoft Office 365 Pro Plus is recommended unless you need legacy app support.
For more information, see Choose between the 64-bit or 32-bit version of Office
Download links:
Office Deployment Tool
Microsoft Visual C++ Redistributable 2019 - x86
Microsoft Visual C++ Redistributable 2019 - x64
Download all three items in this list to the D:\Downloads folder on MDT01.
NOTE
For the purposes of this lab, we'll leave the MSVC files in the D:\Downloads folder and the Office365 files will be extracted
to a child folder. If you prefer, you can place each application in its own separate child folder, and then modify the
$ApplicationSourcePath below as needed (instead of just D:\Downloads).
NOTE
All the Microsoft Visual C++ downloads can be found on The latest supported Visual C++ downloads. Visual C++ 2015,
2017 and 2019 all share the same redistributable files.
NOTE
64-bit is now the default and recommended edition.
Use the General Availability Channel and get updates directly from the Office CDN on the internet.
Perform a silent installation. You won't see anything that shows the progress of the installation and
you won't see any error messages.
<Configuration>
<Add OfficeClientEdition="64" Channel="Broad">
<Product ID="O365ProPlusRetail">
<Language ID="en-us" />
</Product>
</Add>
<Display Level="None" AcceptEULA="TRUE" />
<Updates Enabled="TRUE" />
</Configuration>
When you use these settings, anytime you build the reference image you'll be installing the most up-to-
date General Availability Channel version of Microsoft 365 Apps for enterprise.
TIP
You can also use the web-based interface of the Office Customization Tool to help you create your configuration.xml file.
For more information, see Configuration options for the Office Deployment Tool and Overview of the Office
Deployment Tool.
3. Ensure the configuration.xml file is in the D:\Downloads\Office365 folder. See the following example of
the extracted files plus the configuration.xml file in the Downloads\Office365 folder:
Assuming you've named the file "configuration.xml" as shown above, we'll use the command "setup.exe
/configure configuration.xml " when we create the application in MDT. This command execution will perform
the installation of Microsoft 365 Apps for enterprise using the configuration settings in the configuration.xml
file. Don't perform this step yet.
IMPORTANT
After Microsoft 365 Apps for enterprise is installed on the reference image, do NOT open any Office programs. if you
open an Office program, you're prompted to sign-in, which activates the installation of Microsoft 365 Apps for enterprise.
Even if you don't sign in and you close the Sign in to set up Office dialog box, a temporary product key is installed. You
don't want any kind of product key for Microsoft 365 Apps for enterprise installed as part of your reference image.
Additional information
Microsoft 365 Apps for enterprise is updated on a monthly basis with security updates and other quality
updates (bug fixes), and possibly new features (depending on which update channel you're using). That
means that once you've deployed your reference image, Microsoft 365 Apps for enterprise will most
likely need to download and install the latest updates that have been released since you created your
reference image.
Note : With the installing Office Deployment Tool being used as part of the reference image, Microsoft
365 Apps for enterprise is installed immediately after the reference image is deployed to the user's
device, rather than including Office apps part of the reference image. This way the user will have the most
up-to-date version of Microsoft 365 Apps for enterprise right away and won't have to download any new
updates (which is most likely what would happen if Microsoft 365 Apps for enterprise was installed as
part of the reference image.)
When you're creating your reference image, instead of installing Microsoft 365 Apps for enterprise
directly from the Office CDN on the internet, you can install Microsoft 365 Apps for enterprise from a
location on your local network, such as a file share. To do that, you would use the Office Deployment Tool
in /download mode to download the installation files to that file share. Then you could use the Office
Deployment Tool in /configure mode to install Microsoft 365 Apps for enterprise from that location on to
your reference image. As part of that process, you'll need to point to that location in your
configuration.xml file so that the Office Deployment Tool knows where to get the Microsoft 365 Apps for
enterprise files. If you decide to do this step, the next time you create a new reference image, you'll want
to be sure to use the Office Deployment Tool to download the most up-to-date installation files for
Microsoft 365 Apps for enterprise to that location on your internal network. That way your new reference
image will have a more up-to-date installation of Microsoft 365 Apps for enterprise.
Connect to the deployment share using Windows PowerShell
If you need to add many applications, you can take advantage of the PowerShell support that MDT has. To start
using PowerShell against the deployment share, you must first load the MDT PowerShell snap-in, and then make
the deployment share a PowerShell drive (PSDrive).
On MDT01 :
1. Ensure you're signed in as contoso\Administrator .
2. Import the snap-in and create the PSDrive by running the following commands in an elevated PowerShell
prompt:
TIP
Use "Get-Command -module MicrosoftDeploymentToolkit" to see a list of available cmdlets
Name
----
Install - Office365 ProPlus - x64
VERBOSE: Import processing finished.
NOTE
We have abbreviated "Microsoft Visual C++ Redistributable" in the $ApplicationName below as "MSVC" to avoid the path
name exceeding the maxiumum allowed length of 248 characters.
In these steps, we assume that you've downloaded Microsoft Visual C++ Redistributable 2019 - x86. You might
need to modify the path to the source folder to reflect your current environment. In this example, the source
path is set to D:\Downloads.
On MDT01 :
1. Ensure you're signed on as contoso\Administrator .
2. Create the application by running the following commands in an elevated PowerShell prompt:
Name
----
Install - MSVC 2019 - x86
VERBOSE: Import processing finished.
IMPORTANT
This is probably the most important step when creating a reference image. Many applications need the
.NET Framework, and we strongly recommend having it available in the image. The one thing that makes
this different from other components is that .NET Framework 3.5.1 is not included in the WIM file. It's
installed from the Sources\SxS folder on the media, and that makes it more difficult to add after the
image has been deployed.
The task sequence after creating the Custom Tasks (Pre-Windows Update) group and adding the
Install - Microsoft NET Framework 3.5.1 action.
f. State Restore > Custom Tasks (Pre-Windows Update) : After the Install - Microsoft NET
Framework 3.5.1 action, add a new Install Application action (selected from the General
group) with the following settings:
a. Name: Microsoft Visual C++ Redistributable 2019 - x86
b. Install a Single Application: browse to Install - MSVC 2019 - x86
g. Repeat these steps (add a new Install Application ) to add Microsoft Visual C++ Redistributable
2019 - x64 and Microsoft 365 Apps for enterprise as well.
3. Select OK .
Optional configuration: Add a suspend action
The goal when creating a reference image is to automate everything. But sometimes you've a special
configuration or application setup that is too time-consuming to automate. If you need to do some manual
configuration, you can add a little-known feature called Lite Touch Installation (LTI) Suspend. If you add the
LTISuspend.wsf script as a custom action in the task sequence, it will suspend the task sequence until you select
the Resume Task Sequence shortcut icon on the desktop. In addition to using the LTI Suspend feature for manual
configuration or installation, you can also use it simply for verifying a reference image before you allow the task
sequence to continue and use Sysprep and capture the virtual machine.
A task sequence with optional Suspend action (LTISuspend.wsf) added.
WARNING
Don't use SkipMachineOOBE or SkipUserOOBE in your Unattend.xml file. These settings are deprecated and can have
unintended effects if used.
NOTE
You also can use the Unattend.xml to enable components in Windows 10, like the Telnet Client or Hyper-V client. Normally
we prefer to do this via the Install Roles and Features action, or using Deployment Image Servicing and Management
(DISM) command-line tools, because then we can add that as an application, being dynamic, having conditions, and so
forth. Also, if you're adding packages via Unattend.xml, it's version specific, so Unattend.xml must match the exact version
of the operating system you're servicing.
Follow these steps to configure Internet Explorer settings in Unattend.xml for the Windows 10 Enterprise x64
RTM Default Image task sequence:
On MDT01 :
1. When you're using the Deployment Workbench, under Deployment Shares > MDT Build Lab > Task
Sequences right-click the Windows 10 Enterprise x64 RTM Default Image task sequence and select
Proper ties .
2. In the OS Info tab, select Edit Unattend.xml . MDT now generates a catalog file. This file generation process
will take a few minutes, and then Windows System Image Manager (Windows SIM) will start.
IMPORTANT
The ADK version 1903 has a known issue generating a catalog file for Windows 10, version 1903 or 1909 X64 install.wim.
You might see the error "Could not load file or assembly" in in the console output. To avoid this issue, install the ADK,
version 2004 or a later version. A workaround is also available for the ADK version 1903:
Close the Deployment Workbench and install the WSIM 1903 update. This will update imagecat.exe and imgmgr.exe to
version 10.0.18362.144.
Manually run imgmgr.exe (C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment
Tools\WSIM\imgmgr.exe).
Generate a catalog (Tools/Create Catalog) for the selected install.wim (ex: D:\MDTBuildLab\Operating
Systems\W10EX64RTM\sources\install.wim).
After manually creating the catalog file (ex: D:\MDTBuildLab\Operating
Systems\W10EX64RTM\sources\install_Windows 10 Enterprise.clg), open the Deployment Workbench and proceed to
edit unattend.xml.
3. In Windows SIM, expand the 4 specialize node in the Answer File pane and select the amd64_Microsoft-
Windows-IE-InternetExplorer_neutral entry.
4. In the amd64_Microsoft-Windows-IE-InternetExplorer_neutral proper ties window (right-hand
window), set the following values:
DisableDevTools: true
5. Save the Unattend.xml file, and close Windows SIM.
NOTE
If errors are reported that certain display values are incorrect, you can ignore this message or browse to
7oobeSystem\amd64_Microsoft-Windows-Shell-Setup__neutral\Display and enter the following:
ColorDepth 32, HorizontalResolution 1, RefreshRate 60, VerticalResolution 1.
[Settings]
Priority=Default
[Default]
_SMSTSORGNAME=Contoso
UserDataLocation=NONE
DoCapture=YES
OSInstall=Y
AdminPassword=pass@word1
TimeZoneName=Pacific Standard Time
JoinWorkgroup=WORKGROUP
HideShell=YES
FinishAction=SHUTDOWN
DoNotCreateExtraPartition=YES
WSUSServer=http://mdt01.contoso.com:8530
ApplyGPOPack=NO
SLSHARE=\\MDT01\Logs$
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerName=YES
SkipDomainMembership=YES
SkipUserData=YES
SkipLocaleSelection=YES
SkipTaskSequence=NO
SkipTimeZone=YES
SkipApplications=YES
SkipBitLocker=YES
SkipSummary=YES
SkipRoles=YES
SkipCapture=NO
SkipFinalSummary=YES
The server-side rules for the MDT Build Lab deployment share.
3. Select Edit Bootstrap.ini and modify using the following information:
[Settings]
Priority=Default
[Default]
DeployRoot=\\MDT01\MDTBuildLab$
UserDomain=CONTOSO
UserID=MDT_BA
UserPassword=pass@word1
SkipBDDWelcome=YES
NOTE
For security reasons, you normally don't add the password to the Bootstrap.ini file; however, because this
deployment share is for creating reference image builds only, and should not be published to the production
network, it's acceptable to do so in this situation. Obviously if you're not using the same password (pass@word3)
that is provided in this lab, you must enter your own custom password on the Rules tab and in Bootstrap.ini.
NOTE
In MDT, the x86 boot image can deploy both x86 and x64 operating systems (except on computers based on Unified
Extensible Firmware Interface).
NOTE
The update process will take 5 to 10 minutes.
NOTE
The settings, or properties, that are used in the rules (CustomSettings.ini and Bootstrap.ini) are listed in the MDT
documentation, in the Microsoft Deployment Toolkit Reference / Properties / Property Definition section.
[Settings]
Priority=Default
[Default]
DeployRoot=\\MDT01\MDTBuildLab$
UserDomain=CONTOSO
UserID=MDT_BA
UserPassword=pass@word1
SkipBDDWelcome=YES
WARNING
Caution is advised. These values are stored in clear text on the boot image. Use them only for the MDT Build Lab
deployment share and not for the MDT Production deployment share that you learn to create in the next topic.
SkipBDDWelcome. Even if it's nice to be welcomed every time we start a deployment, we prefer to skip
the initial welcome page of the Windows Deployment Wizard.
NOTE
All properties beginning with "Skip" control only whether to display that pane in the Windows Deployment Wizard. Most
of the panes also require you to actually set one or more values.
[Settings]
Priority=Default
[Default]
_SMSTSORGNAME=Contoso
UserDataLocation=NONE
DoCapture=YES
OSInstall=Y
AdminPassword=pass@word1
TimeZoneName=Pacific Standard Time
JoinWorkgroup=WORKGROUP
HideShell=YES
FinishAction=SHUTDOWN
DoNotCreateExtraPartition=YES
WSUSServer=http://mdt01.contoso.com:8530
ApplyGPOPack=NO
SLSHARE=\\MDT01\Logs$
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerName=YES
SkipDomainMembership=YES
SkipUserData=YES
SkipLocaleSelection=YES
SkipTaskSequence=NO
SkipTimeZone=YES
SkipApplications=YES
SkipBitLocker=YES
SkipSummary=YES
SkipRoles=YES
SkipCapture=NO
SkipFinalSummary=YES
Priority. Has the same function as in Bootstrap.ini. Priority determines the order in which different
sections are read. This CustomSettings.ini has only one section, named [Default]. In general, if you've
multiple sections that set the same value, the value from the first section (higher priority) wins. The rare
exceptions are listed in the ZTIGather.xml file.
_SMSTSORGNAME. The organization name displayed in the task sequence progress bar window during
deployment.
UserDataLocation. Controls the settings for user state backup. You don't need to use when building and
capturing a reference image.
DoCapture. Configures the task sequence to run the System Preparation (Sysprep) tool and capture the
image to a file when the operating system is installed.
OSInstall. Must be set to Y or YES (the code just looks for the Y character) for the setup to proceed.
AdminPassword. Sets the local Administrator account password.
TimeZoneName. Establishes the time zone to use. Don't confuse this value with TimeZone, which is only
for legacy operating systems (Windows 7 and Windows Server 2003).
NOTE
The easiest way to find the current time zone name on a Windows 10 machine is to run tzutil /g in a command
prompt. You can also run tzutil /l to get a listing of all available time zone names.
NOTE
Remember, in MDT you can use the x86 boot image to deploy both x86 and x64 operating system images. That's
why you can use the x86 boot image instead of the x64 boot image.
On HV01 :
2. Create a new virtual machine with the following settings:
a. Name: REFW10X64-001
b. Store the virtual machine in a different location: C:\VM
c. Generation 1
d. Memory: 1024 MB
e. Network: Must be able to connect to \MDT01\MDTBuildLab$
f. Hard disk: 60 GB (dynamic disk)
g. Install OS with image file: C:\ISO\MDT Build Lab x86.iso
3. Before you start the VM, add a checkpoint for REFW10X64-001, and name it Clean with MDT Build
Lab x86 ISO .
NOTE
Checkpoints are useful if you need to restart the process and want to make sure you can start clean.
After booting into Windows PE, complete the Windows Deployment Wizard with the following settings:
a. Select a task sequence to execute on this computer: Windows 10 Enterprise x64 RTM Default
Image
b. Specify whether to capture an image: Capture an image of this reference computer
Location: \\MDT01\MDTBuildLab$\Captures
c. File name: REFW10X64-001.wim
Troubleshooting
IMPORTANT
If you encounter errors applying the image when using a BIOS firmware type, see Windows 10 deployments fail with
Microsoft Deployment Toolkit on computers with BIOS type firmware. This
If you enabled monitoring, you can check the progress of the task sequence.
If there are problems with your task sequence, you can troubleshoot in Windows PE by pressing F8 to open a
command prompt. There are several MDT log files created that can be helpful determining the origin of an error,
such as BDD.log. From the command line in Windows PE, you can copy these logs from the client to your MDT
server for viewing with CMTrace. For example: copy BDD.log \\mdt01\logs$.
After some time, you 'll have a Windows 10 Enterprise x64 image that is fully patched and has run through
Sysprep, located in the D:\MDTBuildLab\Captures folder on your deployment server. The file name is
REFW10X64-001.wim.
Related articles
Get started with the Microsoft Deployment Toolkit (MDT)
Deploy a Windows 10 image using MDT
Build a distributed environment for Windows 10 deployment
Refresh a Windows 7 computer with Windows 10
Replace a Windows 7 computer with a Windows 10 computer
Configure MDT settings
Deploy a Windows 10 image using MDT
11/23/2022 • 28 minutes to read • Edit Online
Applies to
Windows 10
This article will show you how to take your reference image for Windows 10 (that was created), and deploy that
image to your environment using the Microsoft Deployment Toolkit (MDT).
We'll prepare for this deployment by creating an MDT deployment share that is used solely for image
deployment. Separating the processes of creating reference images from the processes used to deploy them in
production allows greater control of on both processes. We'll configure Active Directory permissions, configure
the deployment share, create a new task sequence, and add applications, drivers, and rules.
For the purposes of this article, we'll use four computers: DC01, MDT01, HV01 and PC0005.
DC01 is a domain controller
MDT01 is a domain member server
HV01 is a Hyper-V server
PC0005 is a blank device to which we'll deploy Windows 10
MDT01 and PC0005 are members of the domain contoso.com for the fictitious Contoso Corporation. HV01 used
to test deployment of PC0005 in a virtual environment.
NOTE
For details about the setup for the procedures in this article, please see Prepare for deployment with MDT.
3. Next, run the Set-OuPermissions script to apply permissions to the MDT_JD service account, enabling it
to manage computer accounts in the Contoso / Computers OU. Run the following commands from an
elevated Windows PowerShell prompt:
NOTE
The reason for adding the setup files has changed since earlier versions of MDT. MDT 2010 used the setup files to install
Windows. MDT uses DISM to apply the image; however, you still need the setup files because some components in roles
and features are stored outside the main image.
Step 4: Add an application
When you configure your MDT Build Lab deployment share, you can also add applications to the new
deployment share before creating your task sequence. This section walks you through the process of adding an
application to the MDT Production deployment share using Adobe Reader as an example.
Create the install: Adobe Reader DC
On MDT01 :
1. Download the Enterprise distribution version of Adobe Acrobat Reader DC
(AcroRdrDC2200320282_en_US.exe) to D:\setup\adobe on MDT01.
2. Extract the .exe file that you downloaded to a .msi (ex: .\AcroRdrDC2200320282_en_US.exe -
sfx_o"d:\setup\adobe\install" -sfx_ne).
3. In the Deployment Workbench, expand the MDT Production node and navigate to the Applications
node.
4. Right-click the Applications node, and create a new folder named Adobe .
5. In the Applications node, right-click the Adobe folder and select New Application .
6. On the Application Type page, select the Application with source files option and select Next .
7. On the Details page, in the Application Name text box, type Install - Adobe Reader and select Next*.
8. On the Source page, in the Source Director y text box, browse to D:\setup\adobe\install and select
Next .
9. On the Destination page, in the Specify the name of the director y that should be created text
box, type Install - Adobe Reader and select Next .
10. On the Command Details page, in the Command Line text box, type msiexec /i AcroRead.msi /q ,
select Next twice, and then select Finish .
The Adobe Reader application added to the Deployment Workbench.
NOTE
You should only add drivers to the Windows PE images if the default drivers don't work. Adding drivers that are not
necessary will only make the boot image larger and potentially delay the download time.
IMPORTANT
In the steps below, it's critical that the folder names used for various computer makes and models exactly match the
results of wmic computersystem get model,manufacturer on the target system.
NOTE
Even if you're not going to use both x86 and x64 boot images, we still recommend that you add the support structure for
future use.
Get-WmiObject -Class:Win32_ComputerSystem
If you want a more standardized naming convention, try the ModelAliasExit.vbs script from the Deployment
Guys blog post, entitled Using and Extending Model Aliases for Hardware Specific Application Installation.
NOTE
The configuration above indicates that MDT should only use drivers from the folder specified by the
DriverGroup001 property, which is defined by the "Choose a selection profile: Nothing" setting, and that
MDT shouldn't use plug and play to determine which drivers to copy, which is defined by the "Install all
drivers from the selection profile" setting.
NOTE
The following instructions assume the device is online. If you're offline you can remove SLShare variable.
On MDT01 :
1. Right-click the MDT Production deployment share and select Proper ties .
2. Select the Rules tab and replace the existing rules with the following information (modify the domain
name, WSUS server, and administrative credentials to match your environment):
[Settings]
Priority=Default
[Default]
_SMSTSORGNAME=Contoso
OSInstall=YES
UserDataLocation=AUTO
TimeZoneName=Pacific Standard Time
AdminPassword=pass@word1
JoinDomain=contoso.com
DomainAdmin=CONTOSO\MDT_JD
DomainAdminPassword=pass@word1
MachineObjectOU=OU=Workstations,OU=Computers,OU=Contoso,DC=contoso,DC=com
SLShare=\\MDT01\Logs$
ScanStateArgs=/ue:*\* /ui:CONTOSO\*
USMTMigFiles001=MigApp.xml
USMTMigFiles002=MigUser.xml
HideShell=YES
ApplyGPOPack=NO
WSUSServer=mdt01.contoso.com:8530
SkipAppsOnUpgrade=NO
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerName=NO
SkipDomainMembership=YES
SkipUserData=YES
SkipLocaleSelection=YES
SkipTaskSequence=NO
SkipTimeZone=YES
SkipApplications=NO
SkipBitLocker=YES
SkipSummary=YES
SkipCapture=YES
SkipFinalSummary=NO
[Default]
DeployRoot=\\MDT01\MDTProduction$
UserDomain=CONTOSO
UserID=MDT_BA
UserPassword=pass@word1
SkipBDDWelcome=YES
4. On the Windows PE tab, in the Platform drop-down list, make sure x86 is selected.
5. On the General sub tab (still under the main Windows PE tab), configure the following settings:
In the Lite Touch Boot Image Settings area:
Image description: MDT Production x86
ISO file name: MDT Production x86.iso
NOTE
Because you're going to use Pre-Boot Execution Environment (PXE) later to deploy the machines, you don't need
the ISO file; however, we recommend creating ISO files because they're useful when troubleshooting deployments
and for quick tests.
6. On the Drivers and Patches sub tab, select the WinPE x86 selection profile and select the Include all
drivers from the selection profile option.
7. On the Windows PE tab, in the Platform drop-down list, select x64 .
8. On the General sub tab, configure the following settings:
In the Lite Touch Boot Image Settings area:
Image description: MDT Production x64
ISO file name: MDT Production x64.iso
9. In the Drivers and Patches sub tab, select the WinPE x64 selection profile and select the Include all
drivers from the selection profile option.
10. In the Monitoring tab, select the Enable monitoring for this deployment share check box.
11. Select OK .
NOTE
It will take a while for the Deployment Workbench to create the monitoring database and web service.
The Windows PE tab for the x64 boot image.
The rules explained
The rules for the MDT Production deployment share are different from those rules for the MDT Build Lab
deployment share. The biggest differences are that you deploy the machines into a domain instead of a
workgroup.
You can optionally remove the UserID and UserPassword entries from Bootstrap.ini so that users performing
PXE boot are prompted to provide credentials with permission to connect to the deployment share. Setting
SkipBDDWelcome=NO enables the welcome screen that displays options to run the deployment wizard, run
DaRT tools (if installed), exit to a Windows PE command prompt, set the keyboard layout, or configure a static IP
address. In this example, we're skipping the welcome screen and providing credentials.
The Bootstrap.ini file
This file is the MDT Production Bootstrap.ini:
[Settings]
Priority=Default
[Default]
DeployRoot=\\MDT01\MDTProduction$
UserDomain=CONTOSO
UserID=MDT_BA
UserPassword=pass@word1
SkipBDDWelcome=YES
[Default]
_SMSTSORGNAME=Contoso
OSInstall=Y
UserDataLocation=AUTO
TimeZoneName=Pacific Standard Time
AdminPassword=pass@word1
JoinDomain=contoso.com
DomainAdmin=CONTOSO\MDT_JD
DomainAdminPassword=pass@word1
MachineObjectOU=OU=Workstations,OU=Computers,OU=Contoso,DC=contoso,DC=com
SLShare=\\MDT01\Logs$
ScanStateArgs=/ue:*\* /ui:CONTOSO\*
USMTMigFiles001=MigApp.xml
USMTMigFiles002=MigUser.xml
HideShell=YES
ApplyGPOPack=NO
WSUSServer=http://mdt01.contoso.com:8530
SkipAppsOnUpgrade=NO
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerName=NO
SkipDomainMembership=YES
SkipUserData=YES
SkipLocaleSelection=YES
SkipTaskSequence=NO
SkipTimeZone=YES
SkipApplications=NO
SkipBitLocker=YES
SkipSummary=YES
SkipCapture=YES
SkipFinalSummary=NO
EventService=http://MDT01:9800
Some properties to use in the MDT Production rules file are as follows:
JoinDomain. The domain to join.
DomainAdmin. The account to use when joining the machine to the domain.
DomainAdminDomain. The domain for the join domain account.
DomainAdminPassword. The password for the join domain account.
MachineObjectOU. The organizational unit (OU) to which to add the computer account.
ScanStateArgs. Arguments for the User State Migration Tool (USMT) ScanState command.
USMTMigFiles(*). List of USMT templates (controlling what to back up and restore).
EventSer vice. Activates logging information to the MDT monitoring web service.
NOTE
For more information about localization support, see the following articles:
MDT sample guide
LCID (Locale ID) codes
NOTE
DaRT 10 is part of MDOP 2015.
MDOP might be available as a download from your Visual Studio subscription. When searching, be sure to look for
Desktop Optimization Pack .
On MDT01 :
1. Download MDOP 2015 and copy the DaRT 10 installer file to the D:\Setup\DaRT 10 folder on MDT01
(DaRT\DaRT 10\Installers\<lang>\x64\MSDaRT100.msi).
2. Install DaRT 10 (MSDaRT10.msi) using the default settings.
3. Copy the two tools CAB files from C:\Program Files\Microsoft DaRT\v10 (Toolsx86.cab and
Toolsx64.cab ) to the production deployment share at D:\MDTProduction\Tools\x86 and
D:\MDTProduction\Tools\x64 , respectively.
4. In the Deployment Workbench, right-click the MDT Production deployment share and select
Proper ties .
5. On the Windows PE tab, in the Platform drop-down list, make sure x86 is selected.
6. On the Features sub tab, select the Microsoft Diagnostics and Recover y Toolkit (DaRT) checkbox.
Selecting the DaRT 10 feature in the deployment share.
7. In the Windows PE tab, in the Platform drop-down list, select x64 .
8. In the Features sub tab, in addition to the default selected feature pack, select the Microsoft
Diagnostics and Recover y Toolkit (DaRT) check box.
9. Select OK .
Update the deployment share
Like the MDT Build Lab deployment share, the MDT Production deployment share needs to be updated after it
has been configured. This update-process is the one during which the Windows PE boot images are created.
1. Right-click the MDT Production deployment share and select Update Deployment Share .
2. Use the default options for the Update Deployment Share Wizard.
NOTE
The update process will take 5 to 10 minutes.
Multicast deployments
Multicast deployment allows for image deployment with reduced network load during simultaneous
deployments. Multicast is a useful operating system deployment feature in MDT deployments, however it's
important to ensure that your network supports it and is designed for it. If you've a limited number of
simultaneous deployments, you probably don't need to enable multicast.
Requirements
Multicast requires that Windows Deployment Services (WDS) is running on Windows Server 2008 or later. In
addition to the core MDT setup for multicast, the network needs to be configured to support multicast. In
general, this configuration means involvement of the organization networking team to ensure that Internet
Group Management Protocol (IGMP) snooping is turned on and that the network is designed for multicast
traffic. The multicast solution uses IGMPv3.
Set up MDT for multicast
Setting up MDT for multicast is straightforward. You enable multicast on the deployment share, and MDT takes
care of the rest.
On MDT01 :
1. In the Deployment Workbench, right-click the MDT Production deployment share folder and select
Proper ties .
2. On the General tab, select the Enable multicast for this deployment share (requires Windows
Ser ver 2008 R2 Windows Deployment Ser vices) check box, and select OK .
3. Right-click the MDT Production deployment share folder and select Update Deployment Share .
4. After updating the deployment share, use the Windows Deployment Services console to, verify that the
multicast namespace was created.
NOTE
When creating offline media, you need to create the target folder first. It's crucial that you don't create a subfolder
inside the deployment share folder because it will break the offline media.
2. In the Deployment Workbench, under the MDT Production / Advanced Configuration node, right-
click the Media node, and select New Media .
3. Use the following settings for the New Media Wizard:
General Settings
Media path: D:\MDTOfflineMedia
Selection profile: Windows 10 Offline Media
Configure the offline media
Offline media has its own rules, its own Bootstrap.ini and CustomSettings.ini files. These files are stored in the
Control folder of the offline media; they also can be accessed via properties of the offline media in the
Deployment Workbench.
On MDT01 :
1. Copy the CustomSettings.ini file from the D:\MDTProduction\Control folder to
D:\MDTOfflineMedia\Content\Deploy\Control . Overwrite the existing files.
2. In the Deployment Workbench, under the MDT Production / Advanced Configuration / Media
node, right-click the MEDIA001 media, and select Proper ties .
3. In the General tab, configure the following:
Clear the Generate x86 boot image check box.
ISO file name: Windows 10 Offline Media.iso
4. On the Windows PE tab, in the Platform drop-down list, select x64 .
5. On the General sub tab, configure the following settings:
In the Lite Touch Boot Image Settings area:
Image description: MDT Production x64
In the Windows PE Customizations area, set the Scratch space size to 128.
6. On the Drivers and Patches sub tab, select the WinPE x64 selection profile and select the Include all
drivers from the selection profile option.
7. Select OK .
Generate the offline media
You've now configured the offline media deployment share, however the share hasn't yet been populated with
the files required for deployment. Now everything is ready you populate the deployment share content folder
and generate the offline media ISO.
On MDT01 :
1. In the Deployment Workbench, navigate to the MDT Production / Advanced Configuration / Media
node.
2. Right-click the MEDIA001 media, and select Update Media Content . The Update Media Content
process now generates the offline media in the D:\MDTOfflineMedia\Content folder. The process
might require several minutes.
Create a bootable USB stick
The ISO that you got when updating the offline media item can be burned to a DVD and used directly (it will be
bootable), but it's often more efficient to use USB sticks instead since they're faster and can hold more data. (A
dual-layer DVD is limited to 8.5 GB.)
TIP
In this example, the .wim file is 5.5 GB in size. However, bootable USB sticks are formatted with the FAT32 file system
which limits file size to 4.0 GB. You can place the image on a different drive (ex: E:\Deploy\Operating
Systems\W10EX64RTM\REFW10X64-001.swm) and then modify E:\Deploy\Control\OperatingSystems.xml to point to it.
Alternatively to keep using the USB you must split the .wim file, which can be done using DISM:
Windows Setup automatically installs from this file, provided you name it install.swm. The file names for the next files
include numbers, for example: install2.swm, install3.swm.
To enable split image in MDT, the Settings.xml file in your deployment share (ex: D:\MDTProduction\Control\Settings.xml)
must have the SkipWimSplit value set to False . By default this value is set to True (
<SkipWimSplit>True</SkipWimSplit> ), so this must be changed and the offline media content updated.
Follow these steps to create a bootable USB stick from the offline media content:
1. On a physical machine running Windows 7 or later, insert the USB stick you want to use.
2. Copy the content of the MDTOfflineMedia\Content folder to the root of the USB stick.
3. Start an elevated command prompt (run as Administrator), and start the Diskpart utility by typing
Diskpar t and pressing Enter .
4. In the Diskpart utility, you can type list volume (or the shorter list vol ) to list the volumes, but you only
need to remember the drive letter of the USB stick to which you copied the content. In our example, the
USB stick had the drive letter F.
5. In the Diskpart utility, type select volume F (replace F with your USB stick drive letter).
6. In the Diskpart utility, type active , and then type exit .
Related articles
Get started with the Microsoft Deployment Toolkit (MDT)
Create a Windows 10 reference image
Build a distributed environment for Windows 10 deployment
Refresh a Windows 7 computer with Windows 10
Replace a Windows 7 computer with a Windows 10 computer
Configure MDT settings
Build a distributed environment for Windows 10
deployment
11/23/2022 • 9 minutes to read • Edit Online
Applies to
Windows 10
Perform the steps in this article to build a distributed environment for Windows 10 deployment. A distributed
environment for deployment is useful when you have a segmented network, for example one that is segmented
geographically into two branch locations. If you work in a distributed environment, replicating the deployment
shares is an important part of a deployment solution because images of 5 GB or more in size can present
bandwidth issues when deployed over the wire. Replicating this content enables clients to do local deployments.
Four computers are used in this article: DC01, MDT01, MDT02, and PC0006. DC01 is a domain controller, MDT01
and MDT02 are domain member computers running Windows Server 2019, and PC0006 is a blank device
where we'll deploy Windows 10. The second deployment server (MDT02) will be configured for a remote site
(Stockholm) by replicating the deployment share on MDT01 at the original site (New York). All devices are
members of the domain contoso.com for the fictitious Contoso Corporation.
For the purposes of this article, we assume that MDT02 is prepared with the same network and storage
capabilities that were specified for MDT01, except that MDT02 is located on a different subnet than MDT01. For
more information on the infrastructure setup for this article, see Prepare for deployment with MDT.
HV01 is also used in this topic to host the PC0006 virtual machine.
NOTE
Robocopy has options that allow for synchronization between folders. It has a simple reporting function; it supports
transmission retry; and, by default, it will only copy/remove files from the source that are newer than files on the target.
2. Wait for installation to complete, and then verify that the installation was successful. See the following
output:
2. Wait for installation to complete, and then verify that the installation was successful. See the following
output:
mkdir d:\MDTProduction
New-SmbShare -Name "MDTProduction$" -Path "D:\MDTProduction"
2. You should see the following output:
[Settings]
Priority=DefaultGateway, Default
[DefaultGateway]
10.10.10.1=NewYork
10.10.20.1=Stockholm
[NewYork]
DeployRoot=\\MDT01\MDTProduction$
[Stockholm]
DeployRoot=\\MDT02\MDTProduction$
[Default]
UserDomain=CONTOSO
UserID=MDT_BA
UserPassword=pass@word1
SkipBDDWelcome=YES
NOTE
The DeployRoot value needs to go into the Bootstrap.ini file, but you can use the same logic in the
CustomSettings.ini file. For example, you can redirect the logs to the local deployment server (SLSHARE), or have
the User State Migration Tool (USMT) migration store (UDDIR) local. To learn more about USMT, see Refresh a
Windows 7 computer with Windows 10 and Replace a Windows 7 computer with a Windows 10 computer.
TIP
If you modify bootstrap.ini again later, be sure to repeat the process of updating the deployment share in the
Deployment Workbench and replacing the boot image in the WDS console.
21. In the middle pane, right-click the MDT02 member and select Proper ties .
22. On the MDT02 (MDTProduction) Proper ties page, configure the following and then select OK :
a. In the Staging tab, set the quota to 20480 MB .
b. In the Advanced tab, set the quota to 8192 MB .
NOTE
It will take some time for the replication configuration to be picked up by the replication members (MDT01 and
MDT02). The time for the initial sync will depend on the WAN link speed between the sites. After that, delta
changes are replicated quickly.
23. Verify that MDT01 and MDT02 are members of the MDTProduction replication group, with MDT01 being
primary as follows using an elevated command prompt:
Verify replication
On MDT02 :
1. Wait until you start to see content appear in the D:\MDTProduction folder.
2. Using DFS Management, expand Replication , right-click MDTProduction , and select Create Diagnostics
Repor t .
3. In the Diagnostics Report Wizard, on the Type of Diagnostics Repor t or Test page, choose Health
repor t and select Next .
4. On the Path and Name page, accept the default settings and select Next .
5. On the Members to Include page, accept the default settings and select Next .
6. On the Options page, accept the default settings and select Next .
7. On the Review Settings and Create Repor t page, select Create .
8. Open the report in Internet Explorer, and if necessary, select the Allow blocked content option.
The DFS Replication Health Report.
If there are replication errors you can review the DFS event log in Event Viewer under Applications and
Ser vices Logs .
For demonstration purposes, the following procedure uses a virtual machine (PC0006) hosted by the Hyper-
V server HV01. To use the remote site server (MDT02) the VM must be assigned a default gateway that
matches the one you entered in the Boostrap.ini file.
Related articles
Get started with the Microsoft Deployment Toolkit (MDT)
Create a Windows 10 reference image
Deploy a Windows 10 image using MDT
Refresh a Windows 7 computer with Windows 10
Replace a Windows 7 computer with a Windows 10 computer
Configure MDT settings
Refresh a Windows 7 computer with Windows 10
11/23/2022 • 5 minutes to read • Edit Online
Applies to
Windows 10
This article will show you how to use MDT Lite Touch Installation (LTI) to upgrade a Windows 7 computer to a
Windows 10 computer using the online computer refresh process. The computer refresh scenario is a
reinstallation of an updated operating system on the same computer. You can also use this procedure to reinstall
the same OS version. In this article, the computer refresh will be done while the computer is online. MDT also
supports an offline computer refresh. For more info on that scenario, see the USMTOfflineMigration property on
the MDT resource page.
For the purposes of this article, we'll use three computers: DC01, MDT01, and PC0001.
DC01 is a domain controller for the contoso.com domain.
MDT01 is domain member server that hosts your deployment share.
PC0001 is a domain member computer running a previous version of Windows that is going to be refreshed
to a new version of Windows 10, with data and settings restored. The example used here is a computer
running Windows 7 SP1.
Both DC01 and MDT01 are running Windows Server 2019; however any supported version of Windows Server
can be used. For more information on the setup for this article, see Prepare for deployment with MDT.
Multi-user migration
By default, ScanState in USMT backs up all profiles on the machine, including local computer profiles. If you have
a computer that has been in your environment for a while, it likely has several domain-based profiles on it,
including those of former users. You can limit which profiles are backed up by configuring command-line
switches to ScanState (added as rules in MDT).
For example, the following line configures USMT to migrate only domain user profiles and not profiles from the
local SAM account database: ScanStateArgs=/ue:*\* /ui:CONTOSO\*
NOTE
You also can combine the preceding switches with the /uel switch, which excludes profiles that have not been accessed
within a specific number of days. For example, adding /uel:60 will configure ScanState (or LoadState) not to include profiles
that haven't been accessed for more than 60 days.
1. On PC0001, sign in as contoso\Administrator and start the Lite Touch Deploy Wizard by opening
\\MDT01\MDTProduction$\Scripts\Litetouch.vbs .
2. Complete the deployment guide using the following settings:
Select a task sequence to execute on this computer: Windows 10 Enterprise x64 RTM Custom
Image
Computer name: <default>
Specify where to save a complete computer backup: Don't back up the existing computer
NOTE
Skip this optional full WIM backup that we are choosing not to perform. The USMT backup will still run.
5. After the refresh process completes, sign in to the Windows 10 computer and verify that user accounts,
data and settings were migrated.
Related articles
Get started with the Microsoft Deployment Toolkit (MDT)
Prepare for deployment with MDT
Create a Windows 10 reference image
Deploy a Windows 10 image using MDT
Build a distributed environment for Windows 10 deployment
Replace a Windows 7 computer with a Windows 10 computer
Configure MDT settings
Replace a Windows 7 computer with a Windows 10
computer
11/23/2022 • 4 minutes to read • Edit Online
Applies to
Windows 10
A computer replace scenario for Windows 10 is similar to a computer refresh for Windows 10. However,
because you're replacing a device, you can't store the backup on the old computer. Instead you need to store the
backup to a location where the new computer can read it. The User State Migration Tool (USMT) will be used to
back up and restore data and settings.
For the purposes of this article, we'll use four computers: DC01, MDT01, PC0002, and PC0007.
DC01 is a domain controller for the contoso.com domain.
MDT01 is domain member server that hosts your deployment share.
PC0002 is an old computer running Windows 7 SP1 that will be replaced by PC0007.
PC0007 is a new computer will have the Windows 10 OS installed prior to data from PC0002 being
migrated. Both PC0002 and PC0007 are members of the contoso.com domain.
For more details on the setup for this article, see Prepare for deployment with MDT.
HV01 is also used in this topic to host the PC0007 virtual machine for demonstration purposes, however
typically PC0007 is a physical computer.
NOTE
If you are replacing the computer at a remote site you should create the MigData folder on MDT02 and
use that share instead.
b. Specify where to save a complete computer backup: Don't back up the existing computer
The task sequence will now run USMT (Scanstate.exe) to capture user data and settings of the computer.
The new task sequence running the Capture User State action on PC0002.
4. On MDT01 , verify that you have a USMT.MIG compressed backup file in the
D:\MigData\PC0002\USMT folder.
The USMT backup of PC0002.
Deploy the replacement computer
To demonstrate deployment of the replacement computer, HV01 is used to host a virtual machine: PC0007.
On HV01 :
1. Create a virtual machine with the following settings:
Name: PC0007
Location: C:\VMs
Generation: 2
Memory: 2048 MB
Hard disk: 60 GB (dynamic disk)
Install an operating system from a network-based installation server
2. Start the PC0007 virtual machine, and press Enter to start the Pre-Boot Execution Environment (PXE)
boot. The VM will now load the Windows PE boot image from MDT01 (or MDT02 if at a remote site).
Related articles
Get started with the Microsoft Deployment Toolkit (MDT)
Create a Windows 10 reference image
Deploy a Windows 10 image using MDT
Build a distributed environment for Windows 10 deployment
Refresh a Windows 7 computer with Windows 10
Configure MDT settings
Perform an in-place upgrade to Windows 10 with
MDT
11/23/2022 • 3 minutes to read • Edit Online
Applies to
Windows 10
The simplest path to upgrade PCs that are currently running Windows 7, Windows 8, or Windows 8.1 to
Windows 10 is through an in-place upgrade.
TIP
In-place upgrade is the preferred method to use when migrating from Windows 10 to a later release of Windows 10, and
is also a preferred method for upgrading from Windows 7 or 8.1 if you do not plan to significantly change the device's
configuration or applications. MDT includes an in-place upgrade task sequence template that makes the process really
simple.
In-place upgrade differs from computer refresh in that you can't use a custom image to perform the in-place
upgrade. In this article, we'll add a default Windows 10 image to the production deployment share specifically to
perform an in-place upgrade.
Three computers are used in this article: DC01, MDT01, and PC0002.
DC01 is a domain controller for the contoso.com domain
MDT01 is a domain member server
PC0002 is a domain member computer running Windows 7 SP1, targeted for the Windows 10 upgrade
NOTE
For details about the setup for the procedures in this article, please see Prepare for deployment with MDT.
If you have already completed all the steps in Deploy a Windows 10 image using MDT, then you already
have a production deployment share and you can skip to Add Windows 10 Enterprise x64 (full source).
On MDT01 :
1. Sign in as contoso\administrator and copy the content of a Windows 10 Enterprise x64 DVD/ISO to the
D:\Downloads\Windows 10 Enterprise x64 folder on MDT01, or just insert the DVD or mount an ISO on
MDT01.
2. Using the Deployment Workbench, expand the Deployment Shares node, and then expand MDT
Production .
3. Right-click the Operating Systems node, and create a new folder named Windows 10 .
4. Expand the Operating Systems node, right-click the Windows 10 folder, and select Impor t Operating
System . Use the following settings for the Import Operating System Wizard:
Full set of source files
Source directory: (location of your source files)
Destination directory name: W10EX64RTM
5. After adding the operating system, in the Operating Systems / Windows 10 folder, double-click it and
change the name to: Windows 10 Enterprise x64 RTM Default Image .
Related articles
Windows 10 deployment scenarios
Microsoft Deployment Toolkit downloads and resources
Configure MDT settings
11/23/2022 • 2 minutes to read • Edit Online
One of the most powerful features in Microsoft Deployment Toolkit (MDT) is its extension capabilities; there's
virtually no limitation to what you can do in terms of customization. In this article, you learn about configuring
customizations for your environment. For the purposes of this article, we'll use four machines: DC01, MDT01,
HV01, and PC0001. DC01 is a domain controller, MDT01 is a Windows Server 2012 R2 Standard server, and
PC0001 is a Windows 10 Enterprise x64 client used for the MDT simulation environment. OR01 has Microsoft
System Center 2012 R2 Orchestrator installed. MDT01, OR01, and PC0001 are members of the domain
contoso.com for the fictitious Contoso Corporation. For more information on the setup for this article, see
Deploy Windows 10 with the Microsoft Deployment Toolkit.
In this section
Set up MDT for BitLocker
Configure MDT deployment share rules
Configure MDT for UserExit scripts
Simulate a Windows 10 deployment in a test environment
Use the MDT database to stage Windows 10 deployment information
Assign applications using roles in MDT
Use web services in MDT
Use Orchestrator runbooks with MDT
Related articles
Get started with the Microsoft Deployment Toolkit (MDT)
Create a Windows 10 reference image
Deploy a Windows 10 image using MDT
Build a distributed environment for Windows 10 deployment
Refresh a Windows 7 computer with Windows 10
Replace a Windows 7 computer with a Windows 10 computer
Set up MDT for BitLocker
11/23/2022 • 6 minutes to read • Edit Online
This article will show you how to configure your environment for BitLocker, the disk volume encryption built
into Windows 10 Enterprise and Windows 10 Pro, using MDT. BitLocker in Windows 10 has two requirements in
regard to an operating system deployment:
A protector, which can either be stored in the Trusted Platform Module (TPM) chip, or stored as a password.
Technically, you can also use a USB stick to store the protector, but it's not a practical approach as the USB
stick can be lost or stolen. We, therefore, recommend that you instead use a TPM chip and/or a password.
Multiple partitions on the hard drive.
To configure your environment for BitLocker, you'll need to do the following actions:
1. Configure Active Directory for BitLocker.
2. Download the various BitLocker scripts and tools.
3. Configure the operating system deployment task sequence for BitLocker.
4. Configure the rules (CustomSettings.ini) for BitLocker.
NOTE
Even though it is not a BitLocker requirement, we recommend configuring BitLocker to store the recovery password in
Active Directory. For more information about this feature, see Backing Up BitLocker and TPM Recovery Information to AD
DS. If you have access to Microsoft BitLocker Administration and Monitoring (MBAM), which is part of Microsoft Desktop
Optimization Pack (MDOP), you have additional management features for BitLocker.
NOTE
Backing up TPM to Active Directory was supported only on Windows 10 version 1507 and 1511.
For the purposes of this article, we'll use DC01, a domain controller that is a member of the domain
contoso.com for the fictitious Contoso Corporation. For more information on the setup for this article, see
Deploy Windows 10 with the Microsoft Deployment Toolkit.
NOTE
Depending on the Active Directory Schema version, you might need to update the Schema before you can store BitLocker
information in Active Directory.
In Windows Server version from 2008 R2 and later, you have access to the BitLocker Drive Encryption
Administration Utilities features, which will help you manage BitLocker. When you install the features, the
BitLocker Active Directory Recovery Password Viewer is included, and it extends Active Directory Users and
Computers with BitLocker Recovery information.
The BitLocker Recovery information on a computer object in the contoso.com domain.
Add the BitLocker Drive Encryption Administration Utilities
The BitLocker Drive Encryption Administration Utilities are added as features via Server Manager (or Windows
PowerShell):
1. On DC01, log on as CONTOSO\Administrator , and, using Server Manager, select Add roles and
features .
2. On the Before you begin page, select Next .
3. On the Select installation type page, select Role-based or feature-based installation , and select Next .
4. On the Select destination ser ver page, select DC01.contoso.com and select Next .
5. On the Select ser ver roles page, select Next .
6. On the Select features page, expand Remote Ser ver Administration Tools , expand Feature
Administration Tools , select the following features, and then select Next :
a. BitLocker Drive Encryption Administration Utilities
b. BitLocker Drive Encryption Tools
c. BitLocker Recovery Password Viewer
7. On the Confirm installation selections page, select Install , and then select Close .
Selecting the BitLocker Drive Encryption Administration Utilities.
Create the BitLocker Group Policy
Following these steps, you enable the backup of BitLocker and TPM recovery information to Active Directory.
You also enable the policy for the TPM validation profile.
1. On DC01, using Group Policy Management, right-click the Contoso organizational unit (OU), and select
Create a GPO in this domain, and Link it here .
2. Assign the name BitLocker Policy to the new Group Policy.
3. Expand the Contoso OU, right-click the BitLocker Policy , and select Edit . Configure the following policy
settings: Computer Configuration / Policies / Administrative Templates / Windows Components / BitLocker
Drive Encryption / Operating System Drives
a. Enable the Choose how BitLocker-protected operating system drives can be recovered
policy, and configure the following settings:
a. Allow data recovery agent (default)
b. Save BitLocker recovery information to Active Directory Domain Services (default)
c. Don't enable BitLocker until recovery information is stored in AD DS for operating system
drives
b. Enable the Configure TPM platform validation profile for BIOS-based firmware
configurations policy.
c. Enable the Configure TPM platform validation profile for native UEFI firmware
configurations policy.
NOTE
If you consistently get the error "Windows BitLocker Drive Encryption Information. The system boot information has
changed since BitLocker was enabled. You must supply a BitLocker recovery password to start this system." after
encrypting a computer with BitLocker, you might have to change the various "Configure TPM platform validation profile"
Group Policies, as well. Whether or not you need to do this will depend on the hardware you are using.
cscript C:\Setup\Scripts\Add-TPMSelfWriteACE.vbs
English
Activate Embedded Security On Next Boot
*Enable
Embedded Security Activation Policy
*No prompts
F1 to Boot
Allow user to reject
Embedded Security Device Availability
*Available
NOTE
It is common for organizations to wrap these tools in scripts to get additional logging and error handling.
Related articles
Configure MDT deployment share rules
Configure MDT for UserExit scripts
Simulate a Windows 10 deployment in a test environment
Use the MDT database to stage Windows 10 deployment information
Assign applications using roles in MDT
Use web services in MDT
Use Orchestrator runbooks with MDT
Configure MDT deployment share rules
11/23/2022 • 2 minutes to read • Edit Online
In this article, you'll learn how to configure the MDT rules engine to reach out to other resources, including
external scripts, databases, and web services, for additional information instead of storing settings directly in the
rules engine. The rules engine in MDT is powerful: most of the settings used for operating system deployments
are retrieved and assigned via the rules engine. In its simplest form, the rules engine is the CustomSettings.ini
text file.
Assign settings
When using MDT, you can assign setting in three distinct ways:
You can pre-stage the information before deployment.
You can prompt the user or technician for information.
You can have MDT generate the settings automatically.
In order to illustrate these three options, let's look at some sample configurations.
Sample configurations
Before adding the more advanced components like scripts, databases, and web services, consider the commonly
used configurations below; they demonstrate the power of the rules engine.
Set computer name by MAC Address
If you have a small test environment, or simply want to assign settings to a limited number of machines, you can
edit the rules to assign settings directly for a given MAC Address. When you have many machines, it makes
sense to use the database instead.
[Settings]
Priority=MacAddress, Default
[Default]
OSInstall=YES
[00:15:5D:85:6B:00]
OSDComputerName=PC00075
In the preceding sample, you set the PC00075 computer name for a machine with a MAC Address of
00:15:5D:85:6B:00.
Set computer name by serial number
Another way to assign a computer name is to identify the machine via its serial number.
[Settings]
Priority=SerialNumber, Default
[Default]
OSInstall=YES
[CND0370RJ7]
OSDComputerName=PC00075
In this sample, you set the PC00075 computer name for a machine with a serial number of CND0370RJ7.
Generate a computer name based on a serial number
You also can configure the rules engine to use a known property, like a serial number, to generate a computer
name on the fly.
[Settings]
Priority=Default
[Default]
OSInstall=YES
OSDComputerName=PC-%SerialNumber%
In this sample, you configure the rules to set the computer name to a prefix (PC-) and then the serial number. If
the serial number of the machine is CND0370RJ7, the preceding configuration sets the computer name to PC-
CND0370RJ7. Note
Be careful when using the serial number to assign computer names. A serial number can contain more than 15
characters, but the Windows setup limits a computer name to 15 characters.
Generate a limited computer name based on a serial number
To avoid assigning a computer name longer than 15 characters, you can configure the rules in more detail by
adding VBScript functions, as follows:
[Settings]
Priority=Default
[Default]
OSInstall=YES
OSDComputerName=PC-#Left("%SerialNumber%",12)#
In the preceding sample, you still configure the rules to set the computer name to a prefix (PC-) followed by the
serial number. However, by adding the Left VBScript function, you configure the rule to use only the first 12
serial-number characters for the name.
Add laptops to a different organizational unit (OU ) in Active Directory
In the rules, you find built-in properties that use a Windows Management Instrumentation (WMI) query to
determine whether the machine you're deploying is a laptop, desktop, or server. In this sample, we assume you
want to add laptops to different OUs in Active Directory. Note that ByLaptopType isn't a reserved word; rather,
it's the name of the section to read.
[Settings]
Priority=ByLaptopType, Default
[Default]
MachineObjectOU=OU=Workstations,OU=Contoso,DC=contoso,DC=com
[ByLaptopType]
Subsection=Laptop-%IsLaptop%
[Laptop-True]
MachineObjectOU=OU=Laptops,OU=Contoso,DC=contoso,DC=com
Related articles
Set up MDT for BitLocker
Configure MDT for UserExit scripts
Simulate a Windows 10 deployment in a test environment
Use the MDT database to stage Windows 10 deployment information
Assign applications using roles in MDT
Use web services in MDT
Use Orchestrator runbooks with MDT
Configure MDT for UserExit scripts
11/23/2022 • 2 minutes to read • Edit Online
In this article, you'll learn how to configure the MDT rules engine to use a UserExit script to generate computer
names based on a prefix and the computer MAC Address. MDT supports calling external VBScripts as part of the
Gather process; these scripts are referred to as UserExit scripts. The script also removes the colons in the MAC
Address.
[Settings]
Priority=Default
[Default]
OSINSTALL=YES
UserExit=Setname.vbs
OSDComputerName=#SetName("%MACADDRESS%")#
The UserExit=Setname.vbs calls the script and then assigns the computer name to what the SetName function in
the script returns. In this sample, the %MACADDRESS% variable is passed to the script
The first three lines of the script make up a header that all UserExit scripts have. The interesting part is the lines
between Function and End Function. Those lines add a prefix (PC), remove the colons from the MAC Address,
and return the value to the rules by setting the SetName value.
NOTE
The purpose of this sample isn't to recommend that you use the MAC Address as a base for computer naming, but to
show you how to take a variable from MDT, pass it to an external script, make some changes to it, and then return the
new value to the deployment process.
Related articles
Set up MDT for BitLocker
Configure MDT deployment share rules
Simulate a Windows 10 deployment in a test environment
Use the MDT database to stage Windows 10 deployment information
Assign applications using roles in MDT
Use web services in MDT
Use Orchestrator runbooks with MDT
Simulate a Windows 10 deployment in a test
environment
11/23/2022 • 2 minutes to read • Edit Online
This article will walk you through the process of creating a simulated environment on which to test your
Windows 10 deployment using MDT. When working with advanced settings and rules, especially those like
database calls, it's most efficient to be able to test the settings without having to run through a complete
deployment. Luckily, MDT enables you to perform a simulated deployment by running the Gather process by
itself. The simulation works best when you're using a domain-joined client.
Test environment
A Windows 10 client named PC0001 will be used to simulate deployment. The client is joined to the
contoso.com domain and has access to the Internet to required download tools and scripts.
It's assumed that you've performed (at least) the following procedures so that you have an MDT service
account and an MDT production deployment share:
Prepare for deployment with MDT
Create a Windows 10 reference image
Deploy a Windows 10 image using MDT
Simulate deployment
On PC0001 :
1. Sign as contoso\Administrator .
2. Copy the following to a PowerShell script named gather.ps1 and copy it to a directory named C:\MDT on
PC0001.
3. Download and install the free Configuration Manager Toolkit on PC0001 so that you have access to the
Configuration Manager Trace (cmtrace.exe) tool.
4. Using Local Users and Groups (lusrmgr.msc), add the contoso\MDT_BA user account to the local
Administrators group.
5. Sign off, and then sign on to PC0001 as contoso\MDT_BA .
6. Open the \\MDT01\MDTProduction$\Scripts folder and copy the following files to C:\MDT :
a. ZTIDataAccess.vbs
b. ZTIGather.wsf
c. ZTIGather.xml
d. ZTIUtility.vbs
7. From the \\MDT01\MDTProduction$\Control folder, copy the CustomSettings.ini file to C:\MDT .
8. In the C:\MDT folder, create a subfolder named X64 .
9. From the \\MDT01\MDTProduction$\Tools\X64 folder, copy the Microsoft.BDD.Utility.dll file to
C:\MDT\X64 .
The C:\MDT folder with the files added for the simulation environment.
10. Type the following at an elevated Windows PowerShell prompt:
Related articles
Set up MDT for BitLocker
Configure MDT deployment share rules
Configure MDT for UserExit scripts
Use the MDT database to stage Windows 10 deployment information
Assign applications using roles in MDT
Use web services in MDT
Use Orchestrator runbooks with MDT
Use the MDT database to stage Windows 10
deployment information
11/23/2022 • 3 minutes to read • Edit Online
This article is designed to teach you how to use the MDT database to pre-stage information on your Windows
10 deployment in a Microsoft SQL Server 2012 SP1 Express database, rather than include the information in a
text file (CustomSettings.ini). You can use this process, for example, to add the client machines you want to
deploy, specify their computer names and IP addresses, indicate applications to be deployed, and determine
many more settings for the machines.
Database prerequisites
MDT can use either SQL Server Express or full SQL Server. However, since the deployment database isn't large,
even in large enterprise environments, we recommend using the free SQL Server 2012 SP1 Express database in
your environment.
NOTE
Be sure to enable Named Pipes when configuring the SQL Server 2012 SP1 Express database. Although it is a legacy
protocol, Named Pipes has proven to work well when connecting from Windows Preinstallation Environment (Windows
PE) to the SQL Server database.
NOTE
Since SQL Server 2012 SP1 Express runs by default on a separate instance (SQLEXPRESS), the SQL Server Browser service
must be running, and the firewall configured to allow traffic to it. Port 1433 TCP and port 1434 UDP need to be opened
for inbound traffic on MDT01.
1. On MDT01, using Deployment Workbench, expand the MDT Production deployment share, expand
Advanced Configuration , right-click Database , and select New Database .
2. In the New DB Wizard, on the SQL Ser ver Details page, enter the following settings and select Next :
a. SQL Server Name: MDT01
b. Instance: SQLEXPRESS
c. Port: <blank>
d. Network Library: Named Pipes
3. On the Database page, select Create a new database ; in the Database field, type MDT and select Next .
4. On the SQL Share page, in the SQL Share field, type Logs$ and select Next . Select Next again and then
select Finish .
Figure 8. The MDT database added to MDT01.
Figure 10. Creating the login and settings permissions to the MDT database.
Related articles
Set up MDT for BitLocker
Configure MDT deployment share rules
Configure MDT for UserExit scripts
Simulate a Windows 10 deployment in a test environment
Assign applications using roles in MDT
Use web services in MDT
Use Orchestrator runbooks with MDT
Assign applications using roles in MDT
11/23/2022 • 2 minutes to read • Edit Online
This article will show you how to add applications to a role in the MDT database and then assign that role to a
computer. For the purposes of this article, the application we're adding is Adobe Reader XI. In addition to using
computer-specific entries in the database, you can use roles in MDT to group settings together.
3. Using an elevated Windows PowerShell prompt (run as Administrator), run the following commands.
Press Enter after each command:
Set-Location C:\MDT
.\Gather.ps1
Figure 14. ZTIGather.log displaying the application GUID belonging to the Adobe Reader XI application that
would have been installed if you deployed this machine.
Related articles
Set up MDT for BitLocker
Configure MDT deployment share rules
Configure MDT for UserExit scripts
Simulate a Windows 10 deployment in a test environment
Use the MDT database to stage Windows 10 deployment information
Use web services in MDT
Use Orchestrator runbooks with MDT
Use web services in MDT
11/23/2022 • 3 minutes to read • Edit Online
In this article, you'll learn how to create a simple web service that generates computer names and then
configure MDT to use that service during your Windows 10 deployment. Web services provide a powerful way
to assign settings during a deployment. Web services are web applications that run code on the server side, and
MDT has built-in functions to call these web services. Using a web service in MDT is straightforward, but it does
require that you've enabled the Web Server (IIS) role on the server. Developing web services involves some
coding, but for most web services used with MDT, you can use the free Microsoft Visual Studio Express 2013 for
Web.
Figure 20. The result from the MDT Sample web service.
[Settings]
Priority=Default, GetComputerName
[Default]
OSInstall=YES
[GetComputerName]
WebService=http://mdt01/MDTSample/mdtsample.asmx/GetComputerName
Parameters=Model,SerialNumber
OSDComputerName=string
Figure 21. The updated CustomSettings.ini file.
2. Save the CustomSettings.ini file.
3. Using an elevated Windows PowerShell prompt (run as Administrator), run the following commands.
Press Enter after each command:
Set-Location C:\MDT
.\Gather.ps1
Figure 22. The OSDCOMPUTERNAME value obtained from the web service.
Related articles
Set up MDT for BitLocker
Configure MDT deployment share rules
Configure MDT for UserExit scripts
Simulate a Windows 10 deployment in a test environment
Use the MDT database to stage Windows 10 deployment information
Assign applications using roles in MDT
Use Orchestrator runbooks with MDT
Use Orchestrator runbooks with MDT
11/23/2022 • 5 minutes to read • Edit Online
This article will show you how to integrate Microsoft System Center 2012 R2 Orchestrator with MDT to replace
the existing web services that are used in deployment solutions. MDT can integrate with System Center 2012 R2
Orchestrator, which is a component that ties the Microsoft System Center products together, as well as other
products from both Microsoft and third-party vendors. The difference between using Orchestrator and "normal"
web services, is that with Orchestrator you have a rich drag-and-drop style interface when building the solution,
and little or no coding is required.
NOTE
If you are licensed to use Orchestrator, we highly recommend that you start using it. To find out more about licensing
options for System Center 2012 R2 and Orchestrator, visit the System Center 2012 R2 website.
Orchestrator terminology
Before diving into the core details, here's a quick course in Orchestrator terminology:
Orchestrator Ser ver. This is a server that executes runbooks.
Runbooks. A runbook is similar to a task sequence; it's a series of instructions based on conditions.
Runbooks consist of workflow activities; an activity could be Copy File, Get User from Active Directory, or
even Write to Database.
Orchestrator Designer. This is where you build the runbooks. In brief, you do that by creating an empty
runbook, dragging in the activities you need, and then connecting them in a workflow with conditions and
subscriptions.
Subscriptions. These are variables that come from an earlier activity in the runbook. So if you first execute
an activity in which you type in a computer name, you can then subscribe to that value in the next activity. All
these variables are accumulated during the execution of the runbook.
Orchestrator Console. This is the Microsoft Silverlight-based web page you can use interactively to
execute runbooks. The console listens to TCP port 81 by default.
Orchestrator web ser vices. These are the web services you use in the Microsoft Deployment Toolkit to
execute runbooks during deployment. The web services listen to TCP port 82 by default.
Integration packs. These provide additional workflow activities you can import to integrate with other
products or solutions, like the rest of Active Directory, other System Center 2012 R2 products, or Microsoft
Exchange Server, to name a few.
Note
To find and download additional integration packs, see Integration Packs for System Center 2012 - Orchestrator.
cscript \\MDT01\MDTProduction$\Scripts\Litetouch.vbs
Related articles
Set up MDT for BitLocker
Configure MDT deployment share rules
Configure MDT for UserExit scripts
Simulate a Windows10 deployment in a test environment
Use the MDT database to stage Windows 10 deployment information
Assign applications using roles in MDT
Use web services in MDT