Comment déployer Windows avec WAPT 2.2 ?

I. Présentation

Au sein de WAPT 2.2, l'éditeur français Tranquil IT a ajouté de nouvelles fonctionnalités et l'une d'entre elles marque un tournant dans l'histoire de cette solution de déploiement. En effet, WAPT est désormais capable de déployer un système d'exploitation sur vos postes de travail ! Cela vient s'ajouter aux capacités existantes, notamment le déploiement des logiciels et des mises à jour Windows.

Dans cet article, je vous propose de découvrir cette fonctionnalité nommée "WADS" pour WAPT Automated Deployment Services, car j'ai eu l'occasion de l'essayer. Concrètement, WADS offre la possibilité de déployer l'image d'un système d'exploitation au travers du réseau, via le fameux boot PXE, ou à partir d'une clé USB bootable qui va établir une connexion avec le serveur WAPT. Pour récupérer les sources d'installation, le client à déployer va se connecter sur votre dépôt principal ou sur un dépôt secondaire. Par "sources d'installation", j'entends bien sûr l'image disque du système d'exploitation en lui-même, mais aussi les pilotes attribués à cette machine. Pour aller plus loin, il est envisageable de coupler le déploiement d'un système avec le déploiement de logiciels afin de préparer entièrement la machine. En complément, la machine pourra être intégrée automatiquement à votre domaine Active Directory.

Pour fonctionner WADS utilise deux ports :

  • Le port 80 ou 443 (http/https) pour télécharger les sources via le dépôt
  • Le port 69 correspondant au TFTP si vous utilisez le boot PXE (pas nécessaire pour le boot USB, bien entendu)

Pour déployer un système, WADS ne s'appuie pas sur un partage de fichiers SMB (soumis à authentification), mais sur une connexion HTTP/HTTPS. De ce fait, on peut imaginer des scénarios de déploiement sécurisé over Internet.

Je ne vais pas m'attarder sur l'installation du serveur WAPT, j'en ai déjà parlé dans un précédent article et il y a aussi une bonne documentation à ce sujet. Pour rappel, le serveur WAPT s'installe aussi bien sous Linux que Windows.

II. Déployer un OS avec WAPT

Sur mon serveur WAPT nommé "SRV-APPS" avec l'adresse IP "192.168.100.12" et qui tourne sous Windows Server 2022, je commence par lancer la console WAPT.

A. Installation du paquet WADS

Afin de bénéficier de WADS, le paquet "tis-wads-winpe-requirement" doit être installé sur notre machine afin de bénéficier du kit Windows ADK (nécessaire pour créer un WinPE). Ce paquet est disponible dans les dépôts officiels de Tranquil IT. Une simple recherche permet de le trouver facilement.

Il faut commencer par l'importer sur notre dépôt privé afin de le déployer dans un second temps.

Une fois que c'est fait, nous pouvons passer à l'utilisation de WADS via l'onglet "Déploiement d'OS" de la console WAPT.

B. Créer un environnement WinPE

En cliquant sur l'onglet "Déploiement d'OS", un message s'affiche : "Pour commencer, un WinPE est nécessaire. Voulez-vous le télécharger ?". Nous allons répondre "Oui" sinon, nous ne pourrons pas aller plus loin.

WAPT WADS

Ensuite, il faut choisir l'architecture, dans mon "x64" car je déploie uniquement des machines 64 bits.

Dans la liste des dispositions de clavier listées à l'écran, il faut choisir "French_Standard", enfin vous pouvez choisir autre chose selon votre configuration bien entendu.

L'image "boot.wim" va être importée sur notre serveur WAPT, il faut patienter pendant cette opération.

C. Importer un ISO de Windows

Le fichier ISO du système à installer doit être chargé sur le serveur WAPT également. Pour cela, on clique sur le "+" au sein de la section "ISO d'installation". Une fenêtre s'ouvre : il suffit de nommer l'ISO, d'indiquer le chemin vers le fichier et de choisir l'architecture. Pour ma part, j'utilise un ISO de Windows 10 Pro version 21H2.

Après analyse du fichier, notamment pour calculer le hash, il va être importé dans WAPT.

D. Créer un fichier de réponse pour la configuration

Dans le but de personnaliser le déploiement de Windows, nous allons créer un fichier de réponse, qui est en quelque sorte un fichier de configuration au format XML. Ce fichier contient différentes directives, comme nous allons le voir ci-dessous. Dans la section "Configuration", il faut cliquer sur le bouton "+" pour ajouter une config. Là, il faut sélectionner l'ISO précédemment créé afin de l'associer à cette configuration.

Tranquil IT a inclus 4 modèles à WAPT, généré à partir du site "windowsafg.com". Il y a deux modèles pour Windows 7 et deux modèles pour Windows 10, avec à chaque fois l'intégration en ligne ou hors ligne dans l'AD (hors ligne = créer l'objet ordinateur en amont dans l'AD). Pour des raisons de sécurité, il est préférable d'utiliser le mode hors ligne (djoin) afin d'éviter d'ajouter un couple identifiant/mot de passe dans le fichier de réponse.

Le fichier de réponse est personnalisable, notamment pour inclure la clé de produit Windows 10. Utile lorsque l'on dispose d'une licence en volume afin d'activer automatiquement Windows. Une clé générique est intégrée au fichier, mais votre clé peut être insérée à la place. Par défaut, un compte utilisateur nommé "superadmin" sera créé sur Windows, sans mot de passe (mais vous pouvez le définir dans le fichier de réponse, voire même utiliser un autre nom pour le compte), tout en sachant qu'il est recommandé de gérer ce compte via Microsoft LAPS pour le sécuriser.

Pour une intégration dans le domaine en mode "en ligne", il faut s'authentifier auprès de l'AD. Pour cela, il faut renseigner le bloc <Credentials> de la configuration, avec le nom de domaine, le nom d'utilisateur et son mot de passe. Il est indispensable de créer un compte utilisateur dédié à cette tâche avec un minimum de droits : l'autorisation de joindre des machines au domaine.

Une fois que les choix sont faits, il ne reste plus qu'à valider. Il est possible de modifier la configuration ultérieurement.

En complément du fichier de réponse, des scripts externes peuvent être ajoutés afin d'exécuter des tâches complémentaires telles que l'installation d'applications. Par exemple, on peut utiliser la commande "wapt-get install" pour réaliser l'installation d'un paquet à partir de WAPT.

E. Ajouter des pilotes

Pour intégrer des pilotes correspondants à la machine qui doit être déployée, c'est pareil, il faut créer un nouvel élément dans la section "Pilotes". En sélectionnant un répertoire, WAPT va importer tous les pilotes situés dans le dossier. Chaque profil de pilote pourra être affecté à une ou plusieurs machines enregistrées auprès de la fonction WADS.

F. Serveur DHCP et TFTP

Pour fonctionner avec le boot PXE, il est nécessaire de disposer d'un serveur DHCP et d'un TFTP. C'est classique, et pas spécifique à WAPT. Pour les serveurs DHCP et TFTP, nous pouvons bien sûr utiliser un serveur Windows ou Linux : au choix. Pour ma part, je vais poursuivre sur ma machine Windows...

Pour le DHCP, je vais utiliser mon étendue existante sur le sous-réseau "192.168.100.0/24". Pour que le boot PXE fonctionne, nous devons configurer les options 66 et 67 afin d'indiquer l'adresse IP du serveur ainsi que le nom du fichier de boot (pour une machine UEFI, dans cet exemple).

Ce qui donne la configuration suivante pour mon étendue :

Pour que iPXE fonctionne, il faut aller plus loin et configurer une classe d'utilisateur puis une stratégie.

Pour configurer la classe utilisateur et la stratégie pour les machines UEFI, voici 3 commandes PowerShell pour gagner un peu de temps :

# Créer la classe utilisateur "iPXE" avec la bonne valeur
Add-DhcpServerv4Class -Name "iPXE" -Type User -Data "iPXE"

# Créer une politique nommée "iPXE UEFI" au sein de l'étendue "192.168.100.0", condition "ET" où la classe utilisateur est égale à "iPXE"
Add-DhcpServerv4Policy -Name "iPXE UEFI" -ScopeId "192.168.100.0" -UserClass EQ,"iPXE" -Condition AND

# Modifier l'option "Nom du fichier de démarrage" dans la stratégie DHCP "iPXE UEFI"
Set-DhcpServerv4OptionValue -ScopeId "192.168.100.0" -PolicyName "iPXE UEFI" -OptionId 67 "http://srv-apps.it-connect.local/api/v3/baseipxe"

Visuellement, cela donne le résultat suivant pour la classe utilisateur (clic droit sur "IPv4" > "Définir les droits des utilisateurs") :

Puis, pour la stratégie DHCP au sein de l'étendue :

Note : si vous avez besoin de gérer les machines UEFI et BIOS, il faut créer deux stratégies DHCP différentes avec deux conditions à chaque fois. Cela nécessite d'affiner la configuration ci-dessus.

Pour le TFTP, j'utilise l'éternel "TFTPD by Ph. Jounin" tout en sachant que les développeurs de Tranquil IT envisagent d'inclure le serveur TFTP à leur solution par la suite. Voici la configuration utilisée (il faudra penser à ouvrir le port sur le pare-feu local en supplément).

Tout est prêt : il ne reste plus qu'à déployer la machine !

G. Déployer la machine via boot PXE

Lorsque l'on veut déployer une machine via la fonction WADS, il faut qu'elle soit inscrite dans la base de WAPT. Pour cela, il y a 4 possibilités :

  • Soit on inscrit manuellement la machine via le bouton "Nouvelle machine" (avec une adresse MAC au format xx:xx:xx:xx:xx:xx)
  • Soit on importe un fichier CSV pour un import massif
  • Soit on importe depuis l'inventaire WAPT existant
  • Soit on inscrit la machine depuis l'environnement WinPE / iPXE

L'adresse MAC est l'identifiant unique de chaque machine afin de faire le lien entre le nom, la configuration à appliquer, les pilotes et la clé de produit. Par la suite, ce serait utile de pouvoir utiliser le numéro de série de la machine. Enfin, par expérience lors de déploiement massif, j'utilise plutôt le numéro de série que l'adresse MAC car le fournisseur peut fournir une liste : ce qui facilite l'intégration dans la solution de déploiement.

Pour pousser la démo jusqu'au bout, je vais utiliser l'inscription depuis l'environnement WinPE. Pour cela, il faut démarrer la machine sur le réseau... C'est-à-dire en mode "boot PXE" puis le DHCP et le TFTP vont permettre de charger l'environnement de démarrage.

Nous arrivons sur cet écran :

Nous choisissons "WinPE" afin d'avoir la disposition de clavier que l'on a choisie au moment de la création du WinPE dans l'interface WAPT. On inscrit la machine en lui associant un nom, tout en sachant que ce nom pour nommer Windows par la suite.

On valide... La machine va s'éteindre ! Côté WAPT, elle est désormais inscrite et visible dans la partie "Déploiement d'OS". La machine étant remontée, nous devons lui attribuer une configuration et la basculer sur "En attente de déploiement = true (vrai)".

Pour activer le déploiement sur cette machine, on effectue un clic droit puis "Démarrer le déploiement".

Côté WAPT, c'est prêt ! Il ne reste plus qu'à démarrer la machine précédemment inscrite afin qu'elle soit déployée ! Cette fois-ci, l'installation du système va démarrer, en commençant par le téléchargement des sources d'installation en local, après avoir réalisé le partitionnement du disque.

Ensuite, Windows va s'installer normalement comme on peut le voir sur l'image suivante.

Une fois l'installation terminée, on peut s'authentifier sur la machine avec un compte du domaine ou avec le compte "superadmin". Dans les options de Windows, on peut constater que la machine se nomme bien "PC-WADS" comme je l'ai demandé.

Côté WAPT, la colonne "Statut" permet de suivre l'avancement des déploiements en cours. Ici, on peut voir le statut "Install finish" suivi d'une date et de l'heure. Puisque le déploiement a été lancé sur cette machine, l'option "En attente de déploiement" est automatiquement repositionnée à "False" pour ne pas que la machine se déploie en boucle.

Windows déployé avec WAPT

Voilà, nous venons de déployer Windows sur un ordinateur à l'aide de WAPT et de sa nouvelle fonctionnalité WADS.

III. Conclusion

WAPT s'enrichit d'une fonctionnalité intéressante qui répond à une véritable problématique : le déploiement des postes de travail en entreprise. Cela devrait satisfaire les DSI équipées de WAPT et qui recherchait une solution de déploiement de systèmes d'exploitation. Surtout, cela permet de gérer la machine du début à la fin, c'est-à-dire du moment où on sort la machine du carton pour la déployer à la mise en service auprès de l'utilisateur avec déjà les logiciels installés.

Avec WADS, Tranquil IT s'attaque directement à d'autres solutions comme celle de Microsoft avec son couple "WDS/MDT". Puisque les sources d'installation sont téléchargées depuis une connexion HTTP (et par la suite en HTTPS), on peut imaginer avoir un serveur WAPT dans le Cloud et des machines clientes à déployer sur différents sites (d'autant plus que l'on peut utiliser des dépôts secondaires). Dans ce cas précis, nous allons utiliser une clé USB bootable avec l'environnement WinPE plutôt que le boot PXE via DHCP/TFTP pour ne pas impacter l'infrastructure existante.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

florian has 4090 posts and counting.See all posts by florian

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.