MDT Installation - WDS and DHCP Services (Part 1)
​
Microsoft Deployment Toolkit (MDT) is a great utility for deploying fully automated and configured Windows systems, both clients and servers over the network or from a USB. MDT is both add-on to ConfigMgr (SCCM\MECM) and a standalone product. Even with ConfigMgr, MDT is great for creating Gold Images for deploying from ConfigMgr.
​
This article is the first in the series for deploying Windows clients and servers over the network via PXE from MDT as a standalone product. Part 1, provides instructions for the installation and configuration of the required network services, WDS and DHCP.
​
Deploy Windows Server preferably as a VM, but physical will be fine. The following instructions with some minor deviations will work for Windows Server 2012 R2 up to and including Windows Server 2019.
​
The virtual host OS is Windows 10 running Hyper-V, the MDT server VM is configured for the 'Internal' network. The MDT server will be configured with DHCP installed so don't deploy to a network with an existing DHCP Server, it will get rather messy. Existing Active Directory or DNS are not required, but are available on my Internal test network.
​
The virtual MDT machine is Windows Server 2016.
Hostname is MDT01
Standalone
IP is 10.1.1.2 (Static IP)
Hyper-V Gen2
2 * vCPU
4Gb RAM
Additional Disk of 127Gbs for the MDT Share @ D:\
​
Set a static IP address, required to install the DHCP Role.
​
Before continuing to install any outstanding Windows updates.
​
Let's get started by installing the required network services for network boot (PXE).
​
Open Server Manager and click 'Add Roles and Features'.

Select both DHCP and Windows Deployment Services Roles.

Click through taking the defaults.

Review and confirm.

That's the 2 roles successfully installed, close the Window.

Open Server Manager, review and respond to any messages including any required reboots.

DHCP Post deployment stage is creating the 'DHCP Admins' and 'DHCP Users' groups.

The new 'DHCP Admins' and 'DHCP Users' groups allow delegated access to DHCP.

Open the 'Windows Deployment Services' (WDS) Admin console from the Start Menu.
​
Right click on the hostname and 'Configure Server'

Read the 'Before You Begin' or like me click next.

Select 'Standalone Server'
​
Interestingly when WDS is installed on a Domain Member Server, its possible to script WDS's initialization, but not on a Standalone Server.

Update the path from 'C:\RemoteInstall' to 'D:\RemoteInstall'

DHCP shares the same server as WDS, these 2 check boxes are required and DHCP Option 60 will be automatically created.
​

Select 'Respond to all client computers'.

Complete the wizard and go back into the WDS Admin console, right click on the hostname, 'All Tasks' and 'Start'.

That's the configuration of WDS completed.

Open the DHCP Admin console and click on 'Server Options', confirm '060 PXEClient' option was added during the WDS setup.
​

Right click on 'IPv4' and select 'New Scope...'

Add a meaningful name.

Add a start and end range of IP's, update the length to '24', 255.255.255.0.
​
Add only a block of available IP's that wont conflict with other devices or the DHCP Server itself, unless the plan is to add exclusions.
​

Add any exclusions.....

Select 'Yes, I want to configure these options now'

Leave the lease duration the default 8 days.

Add the the 'Default Gateway', mines more of a token gesture as its on an internal virtual LAN with no access to any other networks.

Add the 'Parent Domain' and DNS servers IP, not necessary for deploying standalone desktops. However a Domain Controller and DNS server for name resolution are available for and testing GPO's and Domain specific deployment scripts.
​

Select 'Yes, I want to activate this scope now'.

Click into the new scope and then right click on 'Scope Options'.
​
Select '066 Boot Server Host Name' and add the IP of the MDT server..
​

Then select option '67 Bootfile Name',
​
Add the following path 'boot\x64\bootmgfw.efi', this based on standard UEFI boot for a Gen 2 Hyper-V VM.
​

The different boot files can be found at 'D:\RemoteInstall\Boot\x64'

That's the basic DHCP options completed, review the Scope settings.
​
