MSFT Deployment Toolkit (MDT)

This isn’t PDQ Deploy package, but if you are using PDQ you probably don’t have SCCM. Microsoft Deployment Toolkit is enables you to deploy default and custom Windows images over network and PXE boot. MDT is a standalone feature that can be enabled on Windows Server machine or installed on any Windows 10 machine that will act as deployment server.

I suggest reading MDT documentation before configuring MDT in your environment.

In this repository’s folder you’ll find three most important files for unattanded Windows installation:

  • Bootstrap.ini
  • CustomSetings.ini
  • Unattend.xml

Since .ini files don’t work when they have inline comments in them, I have listed switches I used in my implementation and their explanations. Unattend.xml file has inline comment where you have to change or input some custom settings.

Bootstrap.ini

SwitchExplanation
TaskSequenceIDIn my implementation I have used single default Task Sequence. I you use single TS, type TS’s ID as this switch’s value
DeployRootUNC path to DeploymentShare folder
UserDataLocationUsed for current user’s data backup. I didn’t use this
UserDomainService account’s used for accessing Deployment Share domain. Your domain
UserIDService account to access Deployment Share
UserPasswordService accounts password
OSInstallInstall OS. YES, of course
UserLocaleHere type chosen language code for Region
UILanguageHere type chosen language code for UI Language
KeyboardLocaleHere type chosen language code for default system keyboard
KeyboardLocalePEHere type chosen language code for default system keyboard in Windows PE
DomainAdminService account to add computer do domain
DomainAdminDomainService account’s domain. Your domain
DomainAdminPasswordService account’s password
JoinDomainFQDN of domain
TimeZoneHere type chosen time zone code for computer’s time
TimeZoneNameSymbolic name of chosen time zone
SkipBDDWelcomeSkip MDT Welcome screen
_SMSTSOrgNameString that will be shown during TS execution

CustomSettings.ini

SwitchExplanation
TaskSequenceIDIn my implementation I have used single default Task Sequence. I you use single TS, type TS’s ID as this switch’s value
UserDataLocationUsed for current user’s data backup. I didn’t use this
UserDomainService account’s used for accessing Deployment Share domain. Your domain
UserIDService account to access Deployment Share
UserPasswordService accounts password
OSInstallInstall OS. YES, of course
UserLocaleHere type chosen language code for Region
UILanguageHere type chosen language code for UI Language
KeyboardLocaleHere type chosen language code for default system keyboard
KeyboardLocalePEHere type chosen language code for default system keyboard in Windows PE
DomainAdminService account to add computer do domain
DomainAdminDomainService account’s domain. Your domain
DomainAdminPasswordService account’s password
JoinDomainFQDN of domain
DomainOUsNCanonical path of Active Direcotry OU’s where you store computer accounts. List OU which you want to be shown in dropdown to add computer in
TimeZoneHere type chosen time zone code for computer’s time
TimeZoneNameSymbolic name of chosen time zone
SkipBDDWelcomeSkip MDT Welcome screen
SkipApplicationsSkip application installation. You don’t need this if you don’t have SCCM configured
SkipSummarySkip deployment summary
SkipUserDataSkip restoring user data
SkipComputerNameSkip wizard where you type computer’s name and choose OU
SkipDomainMembershipSkip wizard where you add computer to domain
SkipTaskSequenceSkip TS wizard. YES if you use single default TS
SkipLocaleSelectionSkip Region and UI language selection.
SkipTimeZoneSkip Time Zone Selection
SkipAppsOnUpgradeSkip application upgrade. You don’t need this if you don’t have SCCM configured
SkipCaptureSkip creating current system image from connected computer
SkipAdminPasswordSkip setting admin password for default local admin user
SkipProductKeySkip prompt for entering Windows Serial Key
SkipBitLockerSkip BitLocker activation
_SMSTSOrgNameString that will be shown during TS execution
SkipFinalSummarySkip deployment summary
SkipComputerBackupSkip file backup from connected computer
ComputerBackupLocatonLocation of file backup, if you don’t skip computer backup
SkipDeploymentTypeSkip Deployment type selection. You don’t need this if you will user MDT for inital OS installs, and re-installs
DeploymentTypeMDT have multiple Deployment types. Different processes are executed based on selected DeploymentType. NEWCOMPUTER is for initial OS installs and re-installs
EventServiceURL to monitoring website. You have to enable monitoring in MDT Console.

You probably noticed that some switches are used in both Bootstrap.ini and CustomSettings.ini. Bootstrap.ini and CustomSettings.ini are interchangeable. Difference between the two is that for every change to Bootstrap.ini you have to rebuild DeploymentShare, and settings are saved in boot.wim file. Computer reads CustomSettings.ini on every PXE boot, which means that you can dynamically change settings between computers, or test changes. In other words, settings saved in Bootstrap.ini are permanent and changes saved in CustomSettings.ini are dynamic.

You can find .ini and .xml files on GitHub

1 thought on “MSFT Deployment Toolkit (MDT)”

  1. Pingback: Converting .esd image to .wim image – Tech Blog

Comments are closed.