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

  1. Prepare the reference image
    DISM /Capture-Image /ImageFile:"C:\Images\Win11Ref.wim" /CaptureDir:C:\ /Name:"Win11Reference"
  2. 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>
  3. 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.

  4. 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."

Further Reading