Deploying Windows Operating Systems
Overview
This guide provides a comprehensive overview of deploying Windows across physical, virtual, and cloud environments. It covers imaging, unattended installations, and modern provisioning methods such as Windows Autopilot and Microsoft Deployment Toolkit (MDT).
Prerequisites
- Supported Windows version (Windows 10, 11, Server 2022)
- Licensing compliance (Volume Licensing Service Center)
- Network infrastructure (DHCP, PXE, WSUS)
- Administrative credentials
Tools & Utilities
Key tools you will use:
- Microsoft Deployment Toolkit (MDT) – for automated, task‑sequence driven deployments.
- Windows Deployment Services (WDS) – PXE boot and image serving.
- DISM – image servicing and management.
- Windows System Image Manager (WSIM) – unattended answer files.
- Windows Autopilot – cloud‑based provisioning for modern devices.
Step‑by‑Step Guide
- Prepare the reference image
DISM /Capture-Image /ImageFile:"C:\Images\Win11Ref.wim" /CaptureDir:C:\ /Name:"Win11Reference"
- Create an unattended answer file
# Example unattend.xml snippet <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE"> <component name="Microsoft-Windows-Setup"> <UserData> <ProductKey>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</ProductKey> <FullName>IT Department</FullName> <Organization>Contoso Ltd.</Organization> </UserData> </component> </settings> </unattend>
- Configure MDT task sequence
Open the MDT console, create a new Deployment Share, import the captured .wim, and add a task sequence that references the unattend file.
- Deploy via PXE or USB
Boot the target machine, select the MDT task sequence, and monitor progress.
Sample PowerShell Deployment Script
# Deploy Windows 11 using DISM and a custom answer file
$ImagePath = "C:\Images\Win11Ref.wim"
$MountPath = "C:\Mount"
$AnswerFile = "C:\Unattend\unattend.xml"
# Mount the image
Mount-WindowsImage -ImagePath $ImagePath -Index 1 -Path $MountPath
# Apply the answer file
Copy-Item -Path $AnswerFile -Destination "$MountPath\Windows\Panther\unattend.xml" -Force
# Commit changes and unmount
Dismount-WindowsImage -Path $MountPath -Save
Write-Host "Deployment preparation completed. Use WDS/MDT to distribute the image."