How to Set Up Windows Deployment Services (WDS) on Windows Server 2022
Windows Deployment Services (WDS) is a server role in Windows Server 2022 that enables network-based (PXE) deployment of Windows operating systems. Instead of manually booting from USB drives or DVDs, WDS allows machines to boot over the network, load a Windows PE environment, and automatically or interactively install a Windows image. This guide walks through the complete WDS setup — from role installation to multicast deployments.
Prerequisites and Network Requirements
Before installing WDS, ensure the following are in place:
DHCP Server: A functioning DHCP server is required for PXE boot. The DHCP server can be on the same machine as WDS, on a separate server, or on a network device. If DHCP and WDS are on the same server, additional configuration is needed (covered below).
DNS: A functioning DNS server. Typically this is your Active Directory DNS if WDS is joined to a domain.
Active Directory Domain Services: WDS works best when joined to an AD domain. While WDS can operate in a standalone mode, domain membership provides full functionality including client authentication and AD-based client targeting.
Storage: Sufficient disk space for boot images and install images. A full Windows Server 2022 install.wim is approximately 4–5 GB; plan for multiple images.
Installing the WDS Role
Install WDS using PowerShell with both the deployment and transport services components:
Install-WindowsFeature -Name WDS -IncludeAllSubFeature -IncludeManagementTools
This installs WDS-Deployment and WDS-Transport. After installation, verify with:
Get-WindowsFeature -Name WDS*
You should see WDS, WDS-Deployment, and WDS-Transport all listed as Installed.
Initializing the WDS Server with wdsutil
After role installation, the WDS server must be initialized. This creates the remote installation folder structure and configures the service. The wdsutil command-line tool is the primary interface for WDS configuration.
Initialize WDS to store images in D:RemoteInstall, integrated with the domain, and responding to all PXE clients:
wdsutil /Initialize-Server /RemInst:"D:RemoteInstall" /Authorize
The /Authorize flag authorizes the WDS server in Active Directory (similar to authorizing a DHCP server in AD). Without this, domain-joined WDS servers will not respond to PXE requests.
Configure the response policy to answer all PXE clients (including unknown clients):
wdsutil /Set-Server /AnswerClients:All
If you want WDS to require administrator approval before serving unknown clients, use /AnswerClients:Known instead, and pre-stage client computer accounts in Active Directory.
Verify the server configuration:
wdsutil /Get-Server /Show:Config
Configuring DHCP for PXE Boot
WDS uses PXE (Pre-boot eXecution Environment), which relies on DHCP options to direct booting clients to the WDS server. There are two scenarios:
Scenario 1: DHCP and WDS on separate servers — Configure DHCP options 66 (Boot Server Host Name) and 67 (Bootfile Name) on the DHCP server. Set option 66 to the IP or FQDN of the WDS server. For option 67, use bootx64wdsnbp.com for 64-bit UEFI clients or bootx86pxeboot.com for legacy BIOS clients. Modern environments should use the x64 path.
# Configure DHCP options via PowerShell on the DHCP server
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 66 -Value "wds.contoso.com"
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 67 -Value "bootx64wdsnbp.com"
Scenario 2: DHCP and WDS on the same server — When DHCP and WDS share a server, they both listen on UDP port 67, which creates a conflict. Configure WDS to not listen on port 67 and instead rely on DHCP option 60 for PXE detection:
wdsutil /Set-Server /UseDhcpPorts:No /DhcpOption60:Yes
Then add DHCP option 60 (PXEClient) to the DHCP scope so clients know to contact WDS:
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 60 -Value "PXEClient"
Adding a Boot Image (WinPE)
A boot image is a Windows PE image that clients load over the network during PXE boot. You obtain boot.wim from the Windows installation media, located at sourcesboot.wim on the Windows Server 2022 ISO.
Mount the ISO or copy boot.wim to the server, then add it to WDS:
# Add the boot image to WDS
wdsutil /Add-Image /ImageFile:"E:sourcesboot.wim" /ImageType:Boot
# Verify the boot image was added
wdsutil /Get-AllImages /ImageType:Boot
You can also use the WDS MMC console: expand the server, right-click Boot Images, and select Add Boot Image. Browse to boot.wim and follow the wizard.
For custom boot images with additional drivers or tools (useful for hardware that standard WinPE does not support), mount the boot.wim with DISM, add drivers, then dismount and import into WDS:
# Mount, inject drivers, and dismount
New-Item -ItemType Directory -Path C:Mount
Mount-WindowsImage -ImagePath "C:tempboot.wim" -Index 1 -Path "C:Mount"
Add-WindowsDriver -Path "C:Mount" -Driver "C:DriversNIC" -Recurse
Dismount-WindowsImage -Path "C:Mount" -Save
# Add the customized image to WDS
wdsutil /Add-Image /ImageFile:"C:tempboot.wim" /ImageType:Boot /Name:"Custom Boot WinPE"
Adding Install Images
Install images are the actual Windows operating system images that get deployed to client machines. They come from install.wim (or install.esd) on the Windows installation media.
Install images are organized into image groups in WDS. Create an image group first, then add images to it:
# Create an image group
wdsutil /Add-ImageGroup /ImageGroup:"Windows Server 2022"
# Add the install image (all editions from the WIM)
wdsutil /Add-Image /ImageFile:"E:sourcesinstall.wim" /ImageType:Install /ImageGroup:"Windows Server 2022"
# List available images to verify
wdsutil /Get-AllImages /ImageType:Install
The install.wim from a Windows Server 2022 ISO typically contains multiple editions (Standard Core, Standard Desktop, Datacenter Core, Datacenter Desktop). You can add them all or extract specific editions with DISM to create a single-edition WIM.
To extract only Windows Server 2022 Standard (Desktop Experience) — index 4 in the Server 2022 ISO:
Export-WindowsImage -SourceImagePath "E:sourcesinstall.wim" -SourceIndex 4 -DestinationImagePath "C:tempws2022std.wim" -DestinationName "Windows Server 2022 Standard"
The WDS Client Boot Process
When a client machine PXE boots, the sequence is as follows:
1. The client NIC sends a DHCP discover broadcast. The DHCP server responds with an IP address plus options 66/67 pointing to the WDS server.
2. The client downloads the WDS network boot program (wdsnbp.com or wdsmgfw.efi for UEFI) via TFTP from the WDS server.
3. The network boot program contacts WDS, which presents the boot menu.
4. The user selects a boot image and WinPE is downloaded and launched.
5. WinPE contacts the WDS server, authenticates (using Windows credentials if domain-joined), and presents the available install images.
6. The user selects an install image, WDS streams the image to the client, and Windows Setup proceeds.
The WDS client setup can be configured for unattended deployment using an answer file (unattend.xml), which can be associated with specific images in WDS.
Associating an Unattend File with an Image
Create an unattend.xml using the Windows System Image Manager (Windows ADK) tool. A minimal unattend for WDS includes the WDSClientUnattend section for automating image selection and the WindowsSetup component for disk configuration and product key:
# Associate an unattend file with an install image in WDS
wdsutil /Set-Image /Image:"Windows Server 2022 Standard" /ImageType:Install /ImageGroup:"Windows Server 2022" /UnattendFile:"D:Unattendws2022_unattend.xml"
For the WDS boot phase, create a separate client unattend file and configure it in WDS Server Properties > Client tab.
Multicast Deployments
Multicast transmission allows WDS to send a single stream to multiple clients simultaneously, significantly reducing network bandwidth consumption when deploying to many machines at once. WDS supports two types of multicast transmissions:
Auto-Cast: Starts a multicast transmission automatically when the first client requests the image, and additional clients join the existing stream.
Scheduled-Cast: The transmission starts when a specified number of clients are ready, or at a scheduled time.
# Create an auto-cast multicast transmission
wdsutil /New-MulticastTransmission /Image:"Windows Server 2022 Standard" /ImageType:Install /ImageGroup:"Windows Server 2022" /TransmissionName:"WS2022-AutoCast" /TransmissionType:AutoCast
# Create a scheduled-cast that starts when 10 clients are ready
wdsutil /New-MulticastTransmission /Image:"Windows Server 2022 Standard" /ImageType:Install /ImageGroup:"Windows Server 2022" /TransmissionName:"WS2022-BatchDeploy" /TransmissionType:ScheduledCast /StartWhen:ClientCount /ClientCount:10
# View active transmissions
wdsutil /Get-AllMulticastTransmissions
Multicast requires that network switches and routers support IGMP snooping. Without IGMP snooping, multicast traffic floods all ports, negating the bandwidth savings. Enable IGMP snooping on managed switches before using multicast deployment.
WDS and MDT Integration Overview
Microsoft Deployment Toolkit (MDT) extends WDS with more sophisticated deployment capabilities. MDT provides Lite Touch Installation (LTI), task sequences that automate post-imaging configuration, driver management by hardware model, and application deployment during imaging.
The typical MDT + WDS integration involves:
1. Install MDT and Windows ADK on the WDS server.
2. Create a Deployment Share in MDT and configure task sequences.
3. Generate the MDT boot image (LiteTouchPE_x64.wim) from the MDT Deployment Workbench.
4. Import the MDT boot image into WDS as a boot image.
5. PXE clients boot the MDT WinPE environment, which connects to the MDT deployment share and runs the task sequence.
# After generating MDT boot image, import it into WDS
wdsutil /Add-Image /ImageFile:"D:DeploymentShareBootLiteTouchPE_x64.wim" /ImageType:Boot /Name:"MDT LiteTouchPE x64"
WDS Service Management
The WDS service is named WDSServer. Common management commands:
# Start, stop, and restart WDS service
Start-Service WDSServer
Stop-Service WDSServer
Restart-Service WDSServer
# Check WDS service status
Get-Service WDSServer
# View WDS event logs
Get-WinEvent -LogName "Microsoft-Windows-Deployment-Services-Diagnostics/Operational" -MaxEvents 50
WDS logs are also available in Event Viewer under Applications and Services Logs > Microsoft > Windows > Deployment-Services-Diagnostics. The Operational log records client connections, image transfers, and errors.
With WDS properly configured, a bare-metal server or workstation can go from power-on to a fully installed Windows OS in as little as 20–30 minutes with no physical media required, making it invaluable for large-scale deployments and rebuilds in Windows Server 2022 environments.