For most Windows users, the setup process is something of a black box. You run setup and stuff happens and then voilá, you have a Windows installation. For the deployment engineer however, the setup process is where the magic happens. MDT manipulates the setup by providing variables along the process, to customize the resulting image for the target machine.
MDT does this by inserting variables into the
Unattend.xml file for Windows setup. Some of these variables can even be provided dynamically based on queries using a technique known as UserExit scripts. These are used to determine a variables property based on something such as the organizational unit (OU) of a user account, the location of the machine on the network (usually determined by what the default gateway value is), or a hardware query such as
chassis type=laptop to specify that the machine is a laptop and therefore needs a VPN client installed.
The options available to the engineer are detailed in depth in the technical documents of the MDT word documents available on the Microsoft download site at https://technet.microsoft.com/en-us/library/dn781292.aspx. Some are documented in MSDN as well in further detail.
Troubleshooting in the setup isn't generally considered an easy thing to work on in IT. MDT makes it somewhat more straightforward for engineers by centralizing a logging directory for the administrator. A master
smsts.log file logs the activity of the task sequencer and will indicate which sublog is needed to review for additional information if needed.