Release date: August 23th 2021
Welcome to my Microsoft Tips & Tricks section. In this session I will describe what steps I took to configure my MS Windows Deployment Service setup. As this session is a part of my bigger session VMware Horizon – Automating Template Creation & Maintenance, it will be focused on the configuration used when creating new templates for VMware Horizon. I suppose some element can be used when configuring WDS for physical clients, but that isn’t the focus or reason for making this session.
The necessary configuration steps are as follows:
- SQL Server set up
- Deployment Share configuration
- Add Out-Of-Box Drivers
- Deployment Share properties
- SQL Database creation and table configuration
- Configure Windows Deployment Service
- Configure DHCP options
- Add the VMware OSOT MDT Plugin (https://flings.vmware.com/vmware-os-optimization-tool)
SQL Server Setup
As I will be using my SQL server with WDS, I need to adjust the SQL Server setup. I start by enabling “Named Pipes“. This is done within SQL Server Configuration Manager.
I also verify that TCP/IP is enabled and that the Dynamic TCP ports are set to port 1433.
Once the adjustments above are done, I restart the SQL Server service
The SQL Server browser service needs to be started and I set this to Automatic Startup Mode
Finally I make sure the Windows Firewall has rules for both TCP and UDP port 1433
Configure the Deployment Share
I will need a new Deployment Share for my setup. Inside Deployment Workbench, I select New Deployment Share
I specify the location for my deployment share, Next…
I supply a share name for the deployment share, Next…
The Deployment Share even gets a description, Next…
I deselect all options for the Deployment Wizard,as I wont be using these, Next…
In the summary I review my choices, looks good, Next…
At successful completion, click Finish…
The deployment share is created successfully, Finish…
Add VMware Out-Of-Box Drivers
As this deployment share will be used with VMware Virtual machines, I need to add some VMware Out Of The Box drivers. The files are located in the folder: “C:\Windows\System32\DriverStore\FileRepository” on a virtual machine that has VMware Tools installed. I copy the following drivers to a temporary folder, in my case “C:\Drivers”. This will provide our deployed vm’s with the basic drivers for display, SCSI, mouse, network etc.
Next, I import the above drivers in Deployment Workbench
I specify my source directory, Next…
Next…
The import completes with errors that is safe to ignore, Finish…
Configure the Deployment Share properties
Before I continue, I need to adjust the properties on the Deployment Share.
Under General, I deselect the x86 platform and click the Rules tab.
I configure the rules with the additional settings below and click Edit Bootstrap.ini
SkipDomainMembership=YES
SkipUserData=YES
SkipFinalSummary=YES
SkipLocaleSelection=YES
SkipBDDWelcome=YES
SkipComputerName=YES
SkipDeploymentType=YES
SkipRoles=YES
SkipSummary=YES
JoinWorkgroup=WORKGROUP
SkipTimeZone=Yes
TimeZoneName=[your timezone]
_SMSTSOrgName=[your company]
I adjust the Bootstrap.ini file with my settings below
SkipBDDWelcome=YES
KeyboardLocale=[your locale]
UserID=[your MDT user] ----->>> IT is important that this user has sufficient permissions both share and NTFS !!!
UserPassword=[your password]
UserDomain=[your domain]
Under the Windows PE tab, I select x64 platform and adjust the drivers selection as below, Apply and OK…
Next, I will need to update my Deployment Share with the new properties.
In my deployment, I have several Task Sequences, therefore it makes sense to stop and select the desired task sequence, as show below. But, If I only had one task sequence, having to stop and select it, is not very practical. In that case I would add the settings below in both CustomSettings.ini (Rules-tab) and Bootstrap.ini.
SkipTaskSequence=YES
TaskSequenceID=<Task Sequence ID>
WSUS
I have set up a WSUS server in my environment, and I wanted to use this with my task sequences. To define this I added the following to the Rules tab (CustomSettings.ini)
WSUSServer=http://<ipaddress:8530>
However, I noticed while testing the task sequences, that not all updates were being installed. The reason for this is a setting in the ZTIWindowsUpdate.wsf script:
If item.InstallationBehavior.CanRequestUserInput then
bInstall = FALSE ‘ Do NOT install anything that can Request User Input!
End if
This is presumable because it thinks the updates are tagged as “can request user input” and that would be bad during a task sequence that’s supposed to be fully automated, so it skips them. To avoid this I commented out this section from the ZTIWindowsUpdate.wsf script, probably not necessarily best practice, but works for me.
Configure the SQL Database and table
I will be creating a new database for this set up and configure it. Right-click Database – New Database…
I provide the name of my SQL-server and select Named Pipes, Next…
For this set up, I will be creating a new database with the very “imaginative” name, MDT, Next…
I will be mapping the SQL-share to the Deployment Share I created previously, Next…
I review and comply, Next…
Finish…
Next, I will configure the Database Rules with the default settings below…
Select the computer-related queries, Next…
Deselect all Location Options, Next…
Deselect all Make/Model Options, Next…
Deselect all Role Options, Next…
I review my selected values, looks good, Next…
Finish…
Windows Deployment Service Configuration
As WDS isn’t configured, I launch the Windows Deployment Services MMC, right-click my server, Configure Server…
When the wizard launches I make sure all the requirements are met, Next…
This server is AD connected, Next…
I enter the path to my remote installation folder, Next…
For this to work with VMware Horizon Automated Template Creation, I select “Respond to all client computers”, Next…
Once the WDS configuration is done, I deselect “Add Images….”, Finish…
I open WDS MMC and start the “Add Boot image” wizard
I click Browse, navigate to the Boot-folder under the deployment share and select my boot image
Next…
Next…
Next…
Finish…
Open Properties on my WDS-server
From the Boot-tab, I configure the PXE Boot Policy as shown below
From the TFTP-tab I adjust the Maximum Bloc Size to “1456” and deselect “Enable Variable Window Extension”, OK…
Finally restart the WDS service to activate the changes made above
DHCP configuration
In DHCP Manager I configure DHCP Option 66 and 67 as follows
boot\x64\wdsmgfw.efi.
Add VMware OSOT MDT Plugin
I download the VMware OSOT MDT Plugin from the VMware OS Optimization Tool website and unpack this in a temporary folder. I copy the “Templates” and “VMware” folder to the deployment share
I copy the content of the Bin-folder to “C:\Program Files\Microsoft Deployment Toolkit\Bin”
This concludes this session about configuring the Windows Deployment Service set up. The next logical step is to add application, operating systems and creating Task Sequence etc, this I have documented here: Microsoft Windows Deployment Service – Task Sequence
VMware Digital Workspace Tech Zone: Using Automation to Create Optimized Windows Images for VMware Horizon VMs
Microsoft Tips & Tricks section
Disclaimer: Every tips/tricks/posting I have published here, is tried and tested in different it-solutions. It is not guaranteed to work everywhere, but is meant as a tip for other users out there. Remember, Google is your friend and don’t be afraid to steal with pride! Feel free to comment below as needed.