Skip to main content

WDS - Installation et prérequis (GUI)

image.png

Difficulté : Intermédiaire


Notions : Déploiement, installation système, réseau, démarrage sur le réseau.



I. Introduction


Les Services de déploiement Windows (WDS) permettent d’installer des systèmes Windows à distance via le réseau sans nécessiter de support physique (CD/DVD/USB), en s’appuyant principalement sur PXE, DHCP, TFTP et SMB pour orchestrer le processus.

Il peut autant servir à déployer les serveurs que les postes clients.

Cela se déroule de la manière suivante :

      1. Le client démarre via PXE (Preboot Execution Environment).
      2. Le serveur WDS répond grâce au DHCP qui fournit une adresse IP et indique l’emplacement du serveur de démarrage.
      3. Le client télécharge le programme de démarrage initial (boot loader) via TFTP (Trivial File Transfer Protocol).
      4. Une image Windows (au format WIM – Windows Imaging Format) est ensuite transférée et installée sur la machine cible.

WDS peut être combiné avec des fichiers de réponse XML ou des packages pour personnaliser et automatiser le déploiement.

Cette procédure vise à décrire le processus d'installation et les prérequis au bon fonctionnement.


II. Prérequis

Prérequis Matériels
core GUI

 

Non installable en core.

  • 2 à 4 vcpu
  • 2 à 4 Gb RAM
  • 60Gb dd

2.1 Prérequis au PXE

Pour que le déploiement par le réseau fonctionne bien, il est nécessaire d'avoir un serveur DHCP actif pour le segment réseau qui servira au déploiement. Celui-ci peut être installé sur un équipement réseau ou un serveur.

Astuce : Dans le cadre d'un déploiement sur un serveur autonome (All In One), le DHCP peut également être installé directement sur le serveur WDS en lui-même, moyennant un paramétrage particulier.

Il faut également ajouter les options suivantes sur le serveur DHCP :

  • 66 : <ip ou FQDN du serveur de déploiement.>

Ajout sur DHCP windows

Ouvrir le DHCP manager.

Dans les options d'étentue, faire un clic droit puis 'Configure Options...'.

image.png

 

Cocher l'option '66' pour l'activer, puis entrer l'IP ou le FQDN du serveur WDS. Cliquer sur 'Apply' puis 'OK'.

image.png

 

image.png

Ajout sur PFsense / OPNsense

Sur l'interface web PFsense / OPNsense, aller dans "Services --> DHCP server --> <interface d'écoute>"

image.png


III. Installation du rôle

Ouvrir le serveur manager.

image.png

Cliquer sur 'Manage --> Add roles and Features'

image.png

Sur la première page, faire 'Next'.

image.png

Sélectionner 'Role-based or feature-based installation' puis faire 'Next'.

image.png

Sélectionner le serveur sur lequel installer le rôle puis faire 'Next'.

image.png

Cocher le rôle 'Windows Deployement Services' puis faire 'Next'.

image.png

Pas de feature nécessaire, ignorer cette étape et faire 'Next'.

image.png

Prendre en note les prérequis de WDS, puis faire 'Next'.

image.png

Laisser les deux rôles cochés, puis faire 'Next'.

image.png

Les étapes suivantes sont juste un récapitulatif, faire 'Next'. Puis 'Install'.

Attendre la fin de l'installation.

image.png


IV. Configuration

4.1 Post déploiement

Dans le serveur manager, sélectionner le serveur et ouvrir le gestionnaire WDS.

image.png

Lors de l'initialisation, le serveur apparaît avec un marquer point d'exclamation sur lui.

image.png

Il faut tout d'abord terminer la configuration du service. Faire un clic droit sur le serveur puis 'Configure Server'.

image.png

L'assistant s'ouvre. Lire les prérequis et cliquer sur 'Next'.

image.png

Choisir s'il s'agit d'une installation standalone ou intégrée avec active directory. Puis faire 'Next'.

image.png

Choisir le répertoire d'installation. Puis faire 'Next'.

Bonne pratique : Séparer les données des rôles et programmes installés du système.

image.png


Sur cette étape, L'assistant va détecter le type d'installation par rapport à DHCP et cocher/décocher les cases nécessaires.

Cliquer sur 'Next'.

image.png

En fonction des politiques de sécurité, il faudra choisir la réponse à apporter lors de la connexion des clients au service WDS et faire 'Next'.

ici : Respond to all clients computers (known and unknown) avec la case 'Require administrator approval' cochée.

image.png

Attendre la fin de la configuration puis cliquer sur 'Finish'.

image.png

4.2 Ajout des images

Pour fonctionner, le serveur aura besoin à minima de deux images :

  • Une image de démarrage
  • Une image d'installation

Tout d'abord, monter le support d'installation du système à déployer.

image.png

image.png

4.2.1 Ajout de l'image de boot

Faire un clic droit sur 'Boot Image' puis 'Add boot image...'

image.png

Info : Sur les média d'installation Windows, les images sont dans "D:\sources"

Récupérer la boot image depuis le média d'installation.

image.png

Définir un nom et une description. Faire 'Next'.

image.png

Lire le récapitulatif et faire 'Next'.

image.png

Attendre la fin de l'import et faire 'Finish'.

image.png

L'import est terminé.

image.png

Info : Pour pouvoir installer d'autres OS clients ou serveur, il faudra récupérer également leurs images de boot de préférence.

4.2.2 Ajout des images d'installation

Optionnel - Conversion de fichier image

Sur les versions récentes de windows 11 ou des iso dites aio, les fichiers ne sont pas en .wim mais en .esd.

Hors, WDS ne prends pas en charge ce format. Il faudra donc faire une conversion au préalable.

 

Ouvrir une CMD en admin.

image.png

 

Se déplacer sur le Média d'installation. Puis aller dans le répertoire sources.

D:
cd D:\sources\

 

Lister toutes les installations possibles dans le fichier d'installation :

dism /Get-WimInfo /WimFile:D:\sources\Install.esd

image.png

 

Récupérer l'index de la distribution voulue. ici 'Windows 11 Pro' donc la '6'.

Puis lancer la conversion avec :

dism /export-image /SourceImageFile:D:/sources/install.esd /SourceIndex:6 /DestinationImageFile:E:\install.wim /Compress:max /CheckIntegrity

image.png

 

Attendre la fin de l'export.

Faire un clic droit sur 'Install Image' puis 'Add Install image...'

image.png

Choisir de créer un groupe d'image et lui donner un nom équivoque. Puis faire 'Next'.

image.png

Comme pour l'image de boot, récupérer l'image d'installation sur le média d'install et faire 'Next'.

image.png

Sélectionner les éditions à Ajouter. Puis faire 'Next'.

image.png

Pour chaque image, valider son nom et sa description comme précédemment. Puis faire 'Next'.

image.png

Valider le résumé et faire 'Next'.

image.png

Attendre la fin de l'ajout des images et faire 'Finish'.

image.png

L'import est terminé.

image.png

4.3 Ajout des packages de drivers.

Il faudra enfin ajouter des packages de drivers qui seraient éventuellement nécessaire au bon déroulé de l'installation.

Dans le cadre d'une installation sur proxmox par exemple.

Pour cela, monter le média d'installation des drivers ou récupérer les versions en ligne.

Clic droit sur 'Drivers' puis 'Add Driver Package...'.

image.png

Si le ficher .inf est disponible sur le support d'installation, il sera préférable de l'utiliser.

Sinon, il faudra chercher les drivers à la main en scannant le répertoire.

image.png

image.png

image.png

Sélectionner les packages à inclure et faire 'Next'.

image.png

Faire la revue des opérations. Puis 'Next'.

image.png

A la fin de l'import, faire 'Next'.

image.png

Choisir si il faut l'ajouter à un groupe existant, créer un nouveau groupe ou l'ajouter seul.

image.png

Décocher la case de modification des filtres et faire 'Finish'.

image.png

Il faudra répéter l'opération pour chaque packages de drivers à ajouter.

image.png

4.4 Tweaking

Il est possible de modifier des options pour les déploiement afin par exemple d'ajouter d'autres architectures (arm, x86, ...) et de choisir des options par défaut pour les déploiement par exemple.

Cliquer sur le serveur de déploiement dans la console WDS puis 'Properties'.

image.png

Revoir la configuration dans l'onglet 'PXE Response'.

image.png

Dans l'onglet 'Boot', choisir pour les clients connus et inconnus, 'Continue the PXE boot unless the user presses the ESC key'.

Puis remplir l'image de boot qui sera utilisée par défaut lors du boot PXE.

image.png

Valider en cliquant sur 'Apply' puis 'OK'.


V. Déploiement simultanés

Dans le cadre d'un déploiement où les postes seront installés un par un, il n'y à rien de plus à faire.

Cependant, si le but est de déployer des groupes de postes, l'utilisation de transmissions multicast est recommandée.

Pour en créer une. Dans le gestionaire WDS, clic droit sur 'Multicast Transmissions' puis 'Create Multicast Transmission'.

image.png

Nommer la transmission et faire 'Next'.

image.png

Choisir l'image qui sera mutlicastée puis faire 'Next'.

image.png

Paramétrer la transmission selon le besoin. Puis faire 'Next'.

image.png

Cliquer sur 'Finish'.

image.png



V. Intégration active Directory

Dans le cadre d'une installation avec Active Directory, il est possible d'avoir plusieurs options supplémentaires, dont par exemple la politique de nommage des postes.

Pour y accéder, Clic-droit sur 'Properties'.

image.png

Dans l'onglet 'AD DS', il est possible de définir entre autres :

  • La politique de nommage des postes
  • L'emplacement AD où le poste doit être créé (domaine, OU, etc...)

image.png

Politiques de nommage

Syntaxe de la politique de nommage

 

Placeholder Signification
%Username% Nom d'utilisateur du compte qui fait le déploiement
%MAC% Adresse MAC du client (sans séparateur)
%#% Chiffre séquentiel (1-9999)
%03#% Nombre séquentiel avec début prédéfini
%SerialNumber% Numéro de série (hardware) de la machine
%UUID% UUID de l'ordinateur

 

Validation 'Regex-like'

 

WDS n'accepte pas de regex en tant que tel, mais peut utiliser des règles de stratégie de nommage AD :

  • Seulement des lettres (A–Z, a–z)chiffres (0–9), and tirets (-) sont autorisés.
  • Ne peut pas commencer ou finir par un tiret.
  • Longueur maximum : 15 caractères (Limitation NETBIOS).
  • Pas d'espaces ou de caractères spéciaux (_@#, etc...).

Pour valider une stratégie avant de l'apliquer, il est possible de tester une regex comme suit :

^(?=.{1,15}$)(?!-)[A-Za-z0-9-]+(?<!-)$

Explication :

  • (?=.{1,15}$) → Longueur entre 1 et 15 caractères.
  • (?!-) → Ne peut pas commencer par un tiret.
  • [A-Za-z0-9-]+ → Seulement des caractères alphanumériques et des tirets.
  • (?<!-) → Ne peut pas terminer par un tiret.

 

Example Naming Policies

 

Stratégie Exemples de noms générés
PC-%03#% PC-001PC-002
LAB-%MAC% LAB-00A0C914BEEF
%Username%-%03#% jdoe-001jdoe-002
SRV-%SerialNumber% SRV-ABC123XYZ

 

Validation avancée

 

Voici un script powershell permettant de valider les noms générés.

function Test-ADComputerName {
    param (
        [string]$Name
    )
    $regex = '^(?=.{1,15}$)(?!-)[A-Za-z0-9-]+(?<!-)$'
    if ($Name -match $regex) {
        Write-Output "Valid: $Name"
    } else {
        Write-Output "Invalid: $Name"
    }
}

# Example usage
Test-ADComputerName "PC-001"
Test-ADComputerName "-BADNAME"

 

Info : Il est également possible de gérer ces initialisations de noms dans les fichiers unattend.


Conclusion

Il sera enfin possible de voir les postes en attente d'approbation dans 'Pending Devices' et les devices en cours d'installation à travers le multicast dans la transmission correspondante.

Aller plus loin :

WDS - Capture d'image Template (GUI)

WDS - Automatisation de déploiement avec Unattend (GUI)