2019-11-12: Microsoft have confirmed on Twitter that there will be no updated ADK for Windows 10 1909, so keep using ADK 1903 with the fix as noted below.
2019-10-05: At the time of writing there is no ADK for Windows 10 1909 November 2019 Update (19H2), so I’ve tested this walkthrough using the ADK for Windows 10 1903 with the hotfix for Windows System Image Manager. I’ll keep these pages up to date when Windows 10 1909 is officially released.
Current Known Issue: With the Windows 10 1903 ADK on 64-bit, the Windows System Image Manager (WSIM) will fail to generate a catalogue. Microsoft has issued a fix which you can download here. The fix contains two updated files, ImageCat.exe and ImgMgr.exe which need to be copied to the location the ADK is installed. By default the location is: C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\WSIM. After installation you will still not be able to access the WSIM through MDT, but launching WSIM manually and then opening the install.wim file for the Operation System you wish to change, and the XML answer file which will be located in \\server\share\Control\Task-Sequence-ID\Unattend.xml.
Lifecycle Support Notes from Microsoft: If you are using Enterprise or Education editions of Windows 10, from 1809 onwards the YY09 versions of Windows 10 will get 30 months of support and the YY03 versions will only get 18 months. So you may want to consider if you deploy the YY03 versions at all and just stick to the YY09 releases. Here’s the official information from Microsoft here.
My take: With the releases this year, version 1909 is a much smaller update than previous YY09 releases. It seems to me that most of the large new features have been introduced with 1903 and 1909 is more of a stability and polish update.
This article will walk through installing and configuring Microsoft Deployment Toolkit to build a reference image of Windows 10 1909 using a Hyper-V Virtual Machine. It’s assumed that you have a server or PC ready to install MDT and create a file share for MDT to build the image with. In this article we’ll be focusing on the 64-bit Enterprise edition of Windows 10.
Here are the links to the software we’ll be using:
- Windows 10 1903 Assessment and Deployment Kit (ADK)
- Windows System Image Manager (WSIM) 1903 update
- Windows PE add-on for the ADK
- Microsoft Deployment Toolkit (8456)
- Windows 10 1909 x64 Volume Licensing Service Center | MSDN Subscriptions site
Additional software which may be useful:
- Windows USB/DVD Download Tool – For creating a bootable USB from the Windows 10 ISO to build a PC for admin purposes.
- Remote Server Administration Tools for Windows 10 – Be sure to download the version of RSAT for the version of Server you want to administer.
Installing Microsoft Deployment Toolkit and Dependencies
- First we’ll install the Windows 10 1903 ADK. During setup additional files will need to be downloaded, so it may take some time depending on your internet connection.
- On the Select the features you want to install screen select:
- Deployment Tools
- Imaging And Configuration Designer (ICD)
- Configuration Designer
- User State Migration Tool (USMT)
- WinPE is now a separate install. Install the WinPE add-on by running the adkwinpesetup.exe, there is no specific configuration during the install wizard.
- Now install MDT by running the setup file downloaded earlier. There is no specific configuration during the install wizard.
Creating the Deployment Share
- Open the Deployment Workbench from the Start Menu.
- Right click on Deployment Shares.
- Select New Deployment Share.
- Enter the path for the Deployment Share: E:\Build.
- Enter the Share name: Build$.
- Give the share a description.
- On the Options screen, accept the defaults as you can change them later.
- Complete the wizard to create the share.
- By default, the share permissions are set the local administrators group. We’ll revisit this later.
Adding an Operating System
- Mount the Windows 10 1909 ISO in File Explorer.
- Go to Deployment Workbench > Operating Systems.
- Right click and select New Folder.
- Enter the name Windows 10 1909 x64 and click through the wizard to create the folder.
- Right click again and select Import Operating System.
- In the wizard, select Full set of source files and then enter the root of the mounted ISO as the Source directory.
- For the destination directory name enter Windows 10 1909 x64 and complete the wizard.
- Go to the Operating Systems/Windows 10 1909 x64 node and rename the new entries added to Windows 10 1909 <Edition> x64 for ease of use.
Creating Package Folder For Future Updates
- Go to Deployment Workbench > Packages.
- Create a folder named Windows 10 1909 x64.
Now we’ll create a selection profile so that the Task Sequence only attempts to install updates for Windows 10 1909 x64 that we make available through MDT.
Creating A Selection Profile
- Expand the Advanced Configuration node.
- Right click on Selection Profiles and select New Selection Profile.
- Name it Windows 10 1909 x64.
- On the Folders page, tick the Windows 10 1909 x64 folder under Packages and complete the wizard.
If you want to add some applications to be a part of your reference image, here I’ll cover how to add Microsoft Office 2016. MDT recognises Microsoft Office and provides automated/silent install options.
- Go to Deployment Workbench > Deployment Share > Applications.
- Right click on Applications and select New Application.
- In the New Application Wizard, choose Application with source files.
- Give the application the name: Microsoft Office 2016.
- Enter the Source directory of the installation files.
- Enter the Destination directory: Microsoft Office 2016.
- For the Command line enter anything, we’ll revisit this later.
- On the summary page, click Next and after the files are copied click Finish to complete the wizard.
- Right click on Microsoft Office 2016, go to the Office Products Tab.
- Choose the desired Office Product to Install from the drop down menu.
- Check the desired Office language.
- Enter a product key, unless you will be activating Office via KMS in which case leave the Product Key option unchecked.
- Check the Customer name option and enter the desired information.
- Check the Display level option and select None in the drop down menu.
- Check the Accept EULA option.
- Check the Always suppress reboot option.
- Click Apply.
- Go to the Details tab and the Quiet install command should now read:
setup.exe /config proplus.ww\config.xml
Microsoft Office is now set up to be installed silently by a Task Sequence. If you wish to customise the installation to a greater degree, the Office Customization Tool can be launched from the Office Products tab. This process can also be done for Microsoft Visio and Project.
To add other popular third party software, you’ll need to repeat the steps above, with the relevant Command line to quietly or silently install them.
msiexec /I googlechromestandaloneenterprise64.msi /qn
We now need to create a new Task Sequence to create a reference image.
Creating a Task Sequence
- In Deployment Workbench, go to Task Sequences.
- Right click and select New Task Sequence.
- For the ID enter: W10-1909.
- Name it Build Windows 10 1909.
- Select Standard Client Task Sequence.
- Select the Operating System Windows 10 1909 x64.
- Select Do not specify a product key at this time.
- Enter an Organization name.
- Select Do not specify an Administrator password at this time.
- Complete the wizard.
Now we’ll configure the Task Sequence.
Configuring the Task Sequence
- Right click on the Task Sequence just created and select Properties.
- Go to the Task Sequence tab on the Properties window of the Task Sequence.
- Expand the Preinstall folder, and select the Apply Patches item.
- Change the Selection Profile to Windows 10 1909 x64.
- Go to the State Restore folder and select Windows Update (Pre-Application Installation).
- On the right side of the Properties window, go to the Options tab.
- Uncheck the Disable this step tick box and do the same with Windows Update (Post-Application Installation).
- If you skipped the Importing Applications section, please disable the Install Applications item and go to step 16, if not please continue.
- Go to the Install Applications item.
- In the right side of the Properties box, select the Install a single application option and click the Browse… button.
- Select Microsoft Office 2016 and change the name Install Applications to Microsoft Office 2016.
- Install other Applications, copy and paste the Install Applications item and repeat steps 13 – 15 for the applications of your choice.
- Click Apply and close the Task Sequence.
Blocking Internet Access to prevent Microsoft Store App Updates
To block internet access to the VM whilst the image is building, we’ll use this script.
The script will create a firewall rule that will block internet traffic on ports 80 and 443.
- First download the PowerShell script from GitHub and copy it to \\mdt-server\build-share\Applications\_scripts.
- In the Task Sequence created above, we’ll add the items required to run the PowerShell script.
- Go to the Task Sequence tab on the Properties window of the Task Sequence.
- Go to State Restore and click on the Add button.
- Go to General > Run PowerShell Script.
- Name the new item PS Script – Disable Internet Access.
- Enter Z:\Applications\_scripts\Internet-Access-Control.ps1 or your own path to the PowerShell script we just downloaded.
- Add -Disable to the Parameters section.
- Scroll down the Task Sequence to just above the Imaging folder.
- Once again, add a new Run PowerShell Script item.
- Name it PS Script – Enable Internet Access.
- Again, enter Z:\Applications\_scripts\Internet-Access-Control.ps1 or your own path to the PowerShell script we just downloaded.
- Add -Enable to the Parameters section.
- Click Apply and OK to close the Task Sequence.
Next, we’ll create a domain user account for MDT for use as a service account.
Creating a service account for MDT in Active Directory
- Go to Active Directory Users and Computers.
- Create a user called mdt_admin and give it a complex password.
- Go to the Server or PC where the Deployment Share is hosted.
- Give the user mdt_admin Full Control share permissions and Full Control permissions to all the files and folders in the Deployment Share.
Next we need to configure the Bootstrap.ini and the CustomSettings.ini files to control certain aspects of the deployment environment. The settings below enable auto log in and skip the welcome screen, so these should only be used for lab or closed development environments.
- In Deployment Workbench, right click the Deployment Share and select Properties.
- Select the Rules tab and click the Edit Bootstrap.ini button.
- Add the settings below to the Bootstrap.ini.
- Close and Save the Bootstrap.ini
[Settings] Priority=Default [Default] DeployRoot=\\SERVER-NAME\Build$ UserDomain=contoso.com UserID=mdt_admin UserPassword=p@ssw0rd SkipBDDWelcome=YES
On the Rules tab of the Deployment Share properties window, add the settings below.
[Settings] Priority=Default Properties=MyCustomProperty [Default] OSInstall=Y SkipCapture=YES SkipAdminPassword=YES SkipProductKey=YES SkipComputerBackup=YES SkipBitLocker=YES SkipLocaleSelection=YES SkipTimeZone=YES SkipDomainMembership=YES SkipSummary=YES SkipFinalSummary=YES SkipComputerName=YES SkipUserData=YES _SMSTSORGNAME=Build Share _SMSTSPackageName=%TaskSequenceName% DoCapture=YES ComputerBackupLocation=\\SERVER-NAME\Build$\Captures BackupFile=%TaskSequenceID%_#year(date) & "-" & month(date) & "-" & day(date) & "-" & hour(time) & "-" & minute(time)#.wim WSUSServer=http://WSUS-SERVER-NAME:8530 FinishAction=SHUTDOWN SLShare=\\SERVER-NAME\Build$\Logs EventService=http://SERVER-NAME:9800
We now need to create the boot media to boot the VM into the deployment environment.
Creating The Boot Media
- In Deployment Workbench, right click on the Deployment Share.
- Select Update Deployment Share.
- Select Completely regenerate the boot images.
- Complete the wizard. It will take some time to create the boot images.
Testing and Capturing a Reference Image
To test everything we need to copy the ISO file that we just generated. It is located in the Boot folder in the Deployment Share. Go to the Server or PC that is hosting the deployment share and navigate to the boot folder. Inside there should be a file named LiteTouchPE_x64.iso. Copy this file to a location where a Hyper-V Virtual Machine will be able to access it.
Create a new VM in Hyper-V with the following configuration:
- For Hyper-V Only: Generation 1, not 2. I’ve had issues reported with Gen2 VMs.
- 2x vCPUs
- 4GB of RAM
- Network Adaptor with access the local network.
- Virtual Hard Drive of at least 40GB, preferably on an SSD.
- Boot from CD using the LiteTouchPE_x64.iso from MDT.
- If using Hyper-V on Windows 10 1709 or above, make sure Use Automatic Checkpoints is disabled.
Start the VM and it will boot from the LiteTouchPE_x64.iso into the deployment environment. You will be presented with a screen with the name of the Task Sequence you created earlier. Select your Task Sequence and click Next and the task sequence will begin.
The Task Sequence will install Windows 10 1909, update from the WSUS server, install the optional applications if you added them, and then run Windows Update from the WSUS server again. It will then run SysPrep and the reboot back into the deployment environment and MDT will capture the image.
When this process completes the VM will be shutdown and a file named W10-1909_YEAR_MONTH_DAY_HOUR_MINUTE.wim will be in the Captures folder in the Deployment Share.
You now have a reference image for Windows 10 1909 and a Microsoft Deployment Toolkit installation, with a deployment share specifically configured for building reference images.
We’ll cover setting up a deployment share and focus on tasks to support deploying Windows to real hardware in this article.
I take great care to test my ideas and make sure my articles are accurate before posting, however mistakes do slip through sometimes. If you’d like to get in touch with me please use the comments, Twitter (you can tweet me and my DMs are open) or my contact form.