User configurable MDT setup script
For full change log and more information, visit my site.
MDT-Setup is available from:
Please consider supporting my work:
Please report any problems via the ‘issues’ tab on GitHub.
This script will install and configure Microsoft Deployment Toolkit and its prerequisites on a Windows computer with an internet connection. It has been tested on a basic Windows Server 2022 Standard edition virtual machine.
Here is what the script will do:
- Download the installers for Microsoft Deployment Toolkit, the latest MDT patch, the latest ADK and WinPE for ADK.
- Silently install all the above.
- Create an MDT deployment share for OS builds and the folder structure.
- Download Windows 10 or Windows 11 from the Media Creation Tool (this requires some user input).
- Convert the Windows 10/11 install ESD to a WIM file for MDT and import it.
- Create Package folders and Selection Profiles for Windows.
- Import a Task Sequence template and create a build and capture Windows Task Sequence.
- Set the configuration of CustomSettings.ini for the “Build” share.
- Do some final configuration of the MDT “Build” share and generate the boot media.
- Create an MDT deployment share for the deployment of captured OS images and the folder structure.
- Create Package and Driver folders and Selection Profiles for captured images.
- Import a Task Sequence template for future deployments. This template has the “total control” driver configuration already baked in.
- Set the configuration of CustomSettings.ini for the “Deploy” share.
- Do some final configuration of the MDT “Deploy” share and generate the boot media.
When complete the server will be configured to “build and capture” a Windows 10 or Windows 11 image. Once captured a user can then import the image into the Deployment share and create a Task Sequence using the template included.
Some user interaction is still required. For example: importing drivers, adding applications to the build and capture task sequence and other things specific to the images you want to make.
When you run the script it will ask you a series of questions to customise your installation.
- Windows version and update code (eg. W10-22H2)
- Download and convert Windows ESD, edition, language
- Build share path (eg. C:\BuildShare)
- Build share name (eg. BuildShare$)
- Deploy share path (eg. C:\DeployShare)
- Deploy share name (eg. DeployShare$)
- Time zone name for the deployed image (eg. GMT Standard Time)
- Keyboard locale code for the deployed image (eg. 0809:00000809) Please see Microsoft Docs for all the input locales
- Keyboard locale name for the deployed image (eg. en-GB)
- Windows UI language for the deployed image (eg. en-GB)
- Windows user language for the deployed image (eg. en-GB)
- Domain group for MDT Admins (eg. mdt-admins)
- Domain user for domain join (eg. djoin)
- Domain password for above user (eg. [email protected])
- Domain name for above user (eg. contoso.com)
- OU for new PC account (eg. OU=PCs,DC=contoso,DC=com)
- WSUS server name and port (eg. WSUS-Srv:8530)
This will run the script, user interaction is required to continue.
2022-12-02: Version 22.12.02
- Added text notification when there is no update available.
2022-11-29: Version 22.11.29
- Added option to check for updates to the script.
- Fixed permissions not being set on the build and deployment shares.
- Script now asks for a domain group to be used for MDT Administrators.
2022-10-18: Version 22.10.18
- Added support for Windows 10 22H2
2022-09-20: Version 22.09.20
- Removed option to enter a key to download Windows as it isn’t really needed. The provided generic key works just fine.
- Removed option to choose the edition of Windows as it will become the version that the user is licensed for when activation occurs.
2022-08-16: Version 22.08.16
- Added support for Windows 11
- Streamlined some locale options so the user isn’t prompted so much for the same information.
2022-07-26: Version 22.07.26
- Initial release