Table de Matieres
- 1 I. Présentation
- 2 II. Installer Windows ADK pour Windows 11 23H2
- 3 III. Installer l’add-on Windows PE Windows 11, version 23H2
- 4 IV. Installer MDT sur Windows Server 2022
- 5 V. Importer une image Windows 11 dans MDT
- 6 VI. Créer une séquence de tâches pour Windows 11
- 7 VII. Configurer MDT pour Windows 11 (et éviter des problèmes)
- 8 VIII. Personnaliser le bootstrap.ini et le CustomSettings.ini
- 9 IX. Générer l’image Lite Touch et l’importer dans WDS
- 10 X. Déployer Windows 11 23H2 avec MDT
- 11 XI. Conclusion
I. Présentation
Dans ce tutoriel, nous allons apprendre à installer et configurer MDT sur Windows Server 2022 pour déployer Windows 11 23H2 sur des postes de travail. Cette procédure peut s’appliquer aussi pour déployer Windows 10.
Même s’il y a aujourd’hui des solutions basées sur le Cloud comme Windows Autopilot, le couple « WDS + MDT » reste opérationnel avec la dernière version en date de Windows 11. Il fonctionne aussi avec Windows 10. Au-delà de présenter l’avantage d’être gratuite, cette solution reste performante et personnalisable pour effectuer du déploiement de machines en masse. Un serveur de déploiement avec MDT est capable de gérer des milliers de machines.
Comme point de départ, vous devez disposer d’un serveur WDS et d’un serveur DHCP. Dans le précédent épisode de cette série, nous avions abordé cette première étape.
En ce qui concerne l’environnement utilisé pour cette démo :
- Un serveur virtuel WDS sur lequel MDT sera mis en place
- Nom de machine : SRV-WDS
- Adresse IP : 192.168.14.11
- Intégré au domaine Active Directory (facultatif)
- Un serveur virtuel contrôleur de domaine et DHCP
- Nom de machine : SRV-ADDS-01
- Adresse IP : 192.168.14.10
- Nom de domaine : it-connect.local
- Une machine virtuelle vierge pour déployer Windows 11 23H2
En complément de ce tutoriel, vous pouvez utiliser cette page de la documentation Microsoft qui recense aussi les liens de téléchargements.
Remarque : tutoriel mis à jour le 21 mars 2024 après avoir testé le déploiement de Windows 11 23H2, à la place de Windows 11 22H2.
II. Installer Windows ADK pour Windows 11 23H2
A. Attention avec ADK 10.1.25398.1
Avant de commencer, j’attire votre attention sur la version ADK 10.1.25398.1 sortie en septembre 2023. Lorsqu’elle est utilisée, elle génère un problème lors du démarrage sur l’image LiteTouch car le composant « VBScript » est manquant l’image WinPE.
L’erreur contient le message suivant : « The value for attribute is not valid : language » (Erreur 80040049).
Bien qu’il existe des solutions pour résoudre cette erreur, c’est plutôt contraignant. Nous allons plutôt rester sur la précédente version d’ADK, qui fonctionne très bien pour Windows 11 23H2, et les versions antérieures.
Néanmoins, si vous souhaitez résoudre cette erreur, consultez ces deux liens :
Remarque : si vous avez déjà installé la dernière version de l’ADK et l’add-on WinPE, il vous suffit de les désinstaller pour réinstaller les précédentes versions.
B. Installer Windows ADK
Commencez par l’installation du kit d’outils Windows ADK (Assessment and Deployment Kit).
Après avoir fait le téléchargement, exécutez le fichier « adksetup.exe« . Suivez l’assistant. Conservez l’emplacement d’installation par défaut.
Cochez les fonctionnalités suivantes, suffisantes pour faire du MDT et cliquez sur « Installer« . On peut voir qu’il faut un peu plus de 800 Mo d’espace disque.
Patientez pendant l’installation et cliquez sur « Fermer » pour fermer l’installeur de Windows ADK.
III. Installer l’add-on Windows PE Windows 11, version 23H2
Passez à l’installation du second composant que vous pouvez télécharger en utilisant le lien ci-dessous.
Suivez l’assistant… On peut voir que l’installation sera effectuée dans le même répertoire que Windows ADK. C’est normal puisque c’est un complément.
Cochez la seule fonctionnalité disponible et cliquez sur « Installer« .
Le second composant est installé.
IV. Installer MDT sur Windows Server 2022
Désormais, c’est l’installation de MDT qui doit être effectuée, ainsi que la configuration de base.
A. Installer le composant MDT
Pour effectuer l’installation de MDT (Microsoft Deployment Toolkit), vous devez télécharger l’installeur en version 64 bits sur cette page :
Là encore, laissez-vous guider par l’assistant. Cliquez sur « Next« .
Au moment de sélectionner les fonctionnalités, conservez le choix par défaut et poursuivez. L’installation peut être réalisée sur le disque « C: », ce qui n’empêchera pas le stockage des données sur un autre volume.
Laissez-vous guider jusqu’à la fin de l’installation… Cliquez sur « Finish » quand c’est effectué.
Désormais, sur le serveur, il y a un nouveau dossier « Microsoft Deployment Toolik » dans le menu Démarrer. Au sein de ce dossier, vous pouvez trouver la console « Deployment Workbench » qui permet d’utiliser MDT au quotidien.
Il est temps de commencer la configuration. Ouvrez la console « Deployment Workbench« , et sur la gauche, effectuez un clic droit sur « Deployment Shares » afin de choisir « New Deployment Share« .
La première étape consiste à indiquer l’emplacement du Deployment Share. Ce dossier sera partagé et il va contenir l’ensemble des données de MDT : images, pilotes, applications, séquences de tâches, etc… Ici, utilisez un volume différent de celui du système, comme « W:\DeploymentShare » dans cet exemple.
Pour le nom du partage, conservez la valeur par défaut. Le partage caché « DeploymentShare$ » sera créé.
Pour le nom descriptif, indiquez une valeur…
En ce qui concerne les « Options« , cela permet d’activer ou non certaines étapes de l’assistant de déploiement. Les choix effectués ici ne sont pas définitifs, comme nous le verrons par la suite.
Poursuivez. Prenez connaissance du résumé et cliquez sur « Next« .
Patientez pendant la création du DeploymentShare.
À la fin de la création, vous pouvez le contenu du Deployment Share dans la console MDT, mais aussi à partir de l’Explorateur de fichiers Windows. On voit très bien le lien entre les deux.
C. Créer un utilisateur local dédié à MDT
Lorsque l’on va démarrer une machine en boot PXE pour démarrer sur le réseau et installer un système d’exploitation, cette machine va charger une image de démarrage qui va établir une connexion au MDT. Plus précisément, la machine va se connecter au Deployment Share.
De ce fait, la machine doit utiliser un compte utilisateur pour s’authentifier sur le partage et accéder aux données (images, pilotes, séquences de tâches, etc.).
Pour gagner du temps, PowerShell sera utilisé pour créer un compte local nommé « Service_MDT » sur le serveur. Le mot de passe est « P@ssword123! » mais vous devez le personnaliser. Ce compte n’est pas administrateur du serveur : on lui attribue uniquement des droits de lecture et exécution sur le partage.
Sur le serveur MDT, exécutez le script PowerShell suivant :
# Spécifier le nom et le mot de passe du compte de service $ServiceAccountName = "Service_MDT" $ServiceAccountPassword = ConvertTo-SecureString "P@ssword123!" -AsPlainText -Force # Créer le compte local New-LocalUser $ServiceAccountName -Password $ServiceAccountPassword -FullName "MDT" -Description "Compte de service pour MDT" # Ajouter les droits en lecture sur le partage Grant-SmbShareAccess -Name "DeploymentShare$" -AccountName "Service_MDT" -AccessRight Read -Force # Attribuer au compte de service les permissions nécessaires pour accéder aux fichiers de déploiement MDT $MDTSharePath = "\\$env:COMPUTERNAME\DeploymentShare$" $Acl = Get-Acl $MDTSharePath $Rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Service_MDT","ReadAndExecute", "ContainerInherit, ObjectInherit", "None", "Allow") $Acl.SetAccessRule($Rule) Set-Acl $MDTSharePath $Acl
Suite à l’exécution de ce script, l’utilisateur « Service_MDT » a bien un accès en lecture seule sur le Deployment Share.
Vous devez vous assurer que les droits soient corrects (droits de partage et droits NTFS), sinon l’assistant de déploiement ne fonctionnera pas correctement.
V. Importer une image Windows 11 dans MDT
Afin de pouvoir déployer Windows 11 23H2 sur vos machines, vous devez importer une image ISO du système d’exploitation dans MDT. Cette image sera hébergée dans le Deployment Share. Effectuez un clic droit sur « Operating Systems » et cliquez sur « Import Operating System« . Avant cela, vous pouvez choisir « New Folder » pour créer un dossier afin d’organiser vos images.
Un assistant se lance. Nous allons ajouter les sources à partir d’une image ISO de Windows 11 (qu’il faudra au préalable monter dans la VM), donc choisissez « Full set of source files« . La dernière option est intéressante si vous désirez charger une image d’installation déjà disponible sur votre serveur WDS.
Cliquez sur « Browse » et indiquez le lecteur de votre serveur où se situent les sources d’installation de Windows 11. Autrement dit, sélectionnez le lecteur DVD.
Nommez cette image.
Poursuivez… L’image va être importée sur votre serveur dans le Deployment Share.
Une fois que c’est fait, cliquez sur le bouton « Finish« .
Dans la liste « Operating Systems« , vous retrouvez l’ensemble des versions de Windows 11 disponible sur l’image « install.wim » de votre image ISO. Supprimez les éditions que vous n’envisagez pas d’utiliser. Ici, on peut supprimer tout sauf « Windows 11 Pro » qui est la version utilisée dans cet exemple.
Passez à la suite.
VI. Créer une séquence de tâches pour Windows 11
Pour utiliser l’image d’installation de Windows 11 23H2 de façon à ce qu’elle soit déployée sur une machine, il faut l’ajouter à une séquence de tâches. Effectuez un clic droit sur « Task Sequences » et créez un nouveau dossier nommé « Windows 11 » via l’option « New Folder« . Cela va permettre de regrouper les tâches pour Windows 11 dans ce dossier.
Quand c’est fait, effectuez un nouveau clic droit pour cliquer sur « New Task Sequence« .
Commencez par indiquer un nom qui fera office d’ID (identifiant unique) pour cette séquence de tâches, puis indiquez un nom : « Déployer Windows 11 Pro 23H2 » fera l’affaire.
Poursuivez. Sélectionnez le template « Standard Client Task Sequence » de façon à ce que l’on puisse déployer l’OS. Il existe d’autres types de modèles, notamment pour capturer une image système (opération inverse).
Poursuivez. À l’étape « Select OS« , il va falloir choisir l’image Windows 11 que vous venez d’importer. D’où l’intérêt d’importer l’image avant de créer la séquence de tâches.
À l’étape « Specify Product Key« , une clé de produit peut être spécifiée, notamment une clé de licence en volume. Nous n’allons pas préciser la clé de produit pour le moment. Ce que l’on définit tout au long de cet assistant est modifiable par la suite.
À l’étape « OS Settings« , indiquez le nom du compte utilisateur qui sera créé par défaut sur la machine déployée, ainsi que le nom de l’organisation. Ce compte sera administrateur de la machine.
À l’étape suivante, définissez un mot de passe pour le compte Administrateur local de cette machine.
Poursuivez jusqu’à la fin et une fois que la séquence de tâches est créée, cliquez sur « Finish« .
Maintenant que la tâche est créée, vous pouvez l’éditer en effectuant un clic droit dessus puis « Propriétés« .
L’onglet le plus intéressant s’appelle « Task Sequence » : il contient l’ensemble des tâches qui seront exécutées pendant le déploiement de la machine. Cela va du partitionnement du disque de la machine, à la configuration post-installation du système d’exploitation (pour installer des applications par exemple). Chaque tâche peut être activée ou désactivée, et si une tâche est considérée comme critique, on peut dire à l’assistant d’arrêter le déploiement si elle échoue. On peut créer, modifier et supprimer des tâches.
Par exemple, il est possible d’activer la tâche « Windows Update (Post-Application Installation) » pour mettre à jour la machine (Windows et applications Microsoft) après l’installation éventuelle d’applications. Ainsi, une fois que la machine terminera son déploiement, elle sera entièrement à jour. Pour activer cette tâche actuellement désactivée, il faut cliquer dessus et sur la droite cliquer sur « Options » et décocher la case « Disable this step« . La case « Continue on error » doit être cochée pour que le déploiement se poursuive même si cette tâche échoue.
Cliquez sur « OK« . Cette séquence de tâches très simple est prête.
VII. Configurer MDT pour Windows 11 (et éviter des problèmes)
Pour déployer Windows 11 avec MDT, il y a quelques ajustements à effectuer dans la configuration de MDT, sinon c’est l’échec assuré… Car vous êtes susceptibles de rencontrer plusieurs erreurs bloquantes.
A. Bug de la console MMC avec l’onglet Windows PE
Tout d’abord, lorsque l’on accède aux propriétés du Deployment Share (via un clic droit sur le Deployment Share) et que l’on clique sur l’onglet « Windows PE« , on obtient l’erreur « La console MMC a détecté une erreur dans un composant logiciel enfichable et va le décharger« . Et là, impossible d’accéder à cette partie de la configuration. Bloquant…!
Pour résoudre cette erreur, et comme le x86 est actif par défaut, il faut créer cette structure de dossiers vide :
mkdir "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs"
En plus, dans les propriétés du Deployment Share, il faut décocher le support du x86 (32 bits) comme sur l’image ci-dessous. Puisque Windows 11 supporte uniquement le 64 bits, ce n’est pas gênant.
Après avoir effectué ces deux modifications, l’onglet « Windows PE » fonctionne correctement.
B. Lancement d’une tâche : Script Error
Autre problématique que vous pouvez rencontrer par la suite, l’erreur Script Error avec le texte « An error has occured in the script on this page » au moment de lancer un déploiement (ou une capture) sur une machine.
Pour corriger cette erreur, Microsoft vous demande de modifier le fichier « Unatted_PE_x64.xml » situé par défaut dans :
C:\Program Files\Microsoft Deployment Toolkit\Templates
Vous pouvez modifier ce fichier avec le Bloc-notes ou un autre éditeur.
L’idée est de supprimer le contenu de ce fichier pour mettre un nouveau contenu à la place. Le contenu à intégrer est indiqué sur le site de Microsoft, à cet endroit. Visiblement, l’objectif est d’ajouter une clé de Registre pour résoudre ce problème.
Voilà, pour les deux points à corriger pour éviter les erreurs courantes.
En complément de cet article, si vous rencontrez des problèmes, consultez la page des problèmes connus sur le site de Microsoft :
VIII. Personnaliser le bootstrap.ini et le CustomSettings.ini
La configuration globale de MDT et de l’environnement de déploiement s’effectue au travers de deux fichiers de configuration :
- bootstrap.ini
- CustomSettings.ini
Ces deux fichiers vont influencer sur le processus de déploiement, notamment l’assistant qui permet de lancer une séquence de tâches et qui est intégré à l’image Lite Touch. Cette image que nous allons générer par la suite est l’image de démarrage qui sera chargée par les clients via le boot PXE : elle offre l’accès à l’environnement Windows PE (WinPE).
Pour accéder au contenu du fichier « CustomSettings.ini« , effectuez un clic droit sur le Deployment Share via la console MDT et cliquez sur « Propriétés« . Cliquez sur l’onglet « Rules« .
Il y a quelques directives par défaut, mais on peut ajouter des directives supplémentaires. Dans l’exemple ci-dessous, le fait d’avoir « SkipAdminPassword=YES » permet d’indiquer que l’on ne demande pas le mot de passe « Administrateur », ce qui est intéressant d’un sens puisque l’on a défini ce mot de passe dans la séquence de tâches : inutile de le demander une nouvelle fois.
Les lignes que vous voyez par défaut sous « (Default) » sont le reflet des options cochées/décochées lors de la création du Deployment Share.
(Settings) Priority=Default Properties=MyCustomProperty (Default) OSInstall=Y SkipCapture=NO SkipAdminPassword=YES SkipProductKey=YES SkipComputerBackup=NO SkipBitLocker=NO _SMSTSORGNAME=IT-Connect TimeZone=105 TimeZoneName=Romance Standard Time
La directive « _SMSTSORGNAME » permet de nommer l’organisation au sein de l’environnement WinPE, ce qui n’influence pas directement la machine déployée.
Par contre, les directives « TimeZone » et « TimeZoneName » permettent de préciser le fuseau horaire de la machine, ce qui est intéressant.
En ce qui concerne le fichier « Bootstrap.ini« , il faut cliquer sur le bouton « Edit Bootstrap.ini » en bas à droite de la fenêtre. Ceci ouvre un Bloc-notes pour éditer le fichier. Dans ce fichier qui se charge en premier lors du démarrage de l’environnement WinPE, on va retrouver le chemin réseau vers le Deployment Share, ainsi que le nom de l’utilisateur et le mot de passe à utiliser pour se connecter à ce partage. Ici, on utilisera le compte créé précédemment.
DeployRoot=\\SRV-WDS\DeploymentShare$ : Chemin UNC vers le partage Deployment Share UserID=Service_MDT : nom du compte utilisateur UserPassword=P@ssword123! : mot de passe du compte utilisateur UserDomain=SRV-WDS : nom de domaine Active Directory ou nom du serveur s'il s'agit d'un compte local
On ajoutera aussi une option pour disposer du clavier en français. Ce qui donne :
(Settings) Priority=Default (Default) DeployRoot=\\SRV-WDS\DeploymentShare$ UserID=Service_MDT UserPassword=P@ssword123! UserDomain=SRV-WDS SkipBDDWelcome=YES KeyboardLocalePE=040c:0000040c
En image :
Une fois les modifications effectuées, enregistrez. Le fait d’inscrire l’identifiant et le mot de passe dans ce fichier va nous éviter de devoir saisir ces informations à chaque fois que l’on veut déployer un PC.
Nous n’allons pas effectuer de modifications avancées dans ces fichiers pour le moment.
Profitons d’être dans les propriétés pour évoquer l’onglet « Windows PE » qui permet de personnaliser l’image Lite Touch correspondante à l’environnement Windows PE. Cet environnement minimaliste va être chargé via le boot PXE pour nous permettre de lancer une séquence de tâches.
Choisissez la « Platform » en « x64« , et cliquez sur « Drivers and Patches« . Ici, on peut voir que l’image Lite Touch va contenir uniquement les pilotes pour les périphériques de stockage et pour les cartes réseau. Intéressant pour que l’environnement Windows PE soit capable d’utiliser la carte réseau de votre PC pour se connecter au Deployment Share. Ce paramétrage par défaut doit être ajusté par la suite s’il y a beaucoup de pilotes intégrés à votre MDT afin d’éviter que l’image Lite Touch soit trop lourde.
Validez, et laissez de côté cette partie pour l’instant.
IX. Générer l’image Lite Touch et l’importer dans WDS
A. MDT : générer l’image Lite Touch
L’image Lite Touch correspond à l’environnement de démarrage en boot PXE : elle doit être générée avec la console MDT pour intégrer notre configuration, notamment les identifiants de connexion au Deployment Share. Pour initier la génération, effectuez un clic droit sur le Deployment Share et cliquez sur « Update Deployment Share« .
Un assistant s’exécute. Conservez le choix par défaut, à savoir « Optimize the boot image updating process« . Par la suite, lorsque des modifications légères seront apportées à votre configuration, ce choix pourra être utilisé aussi. Par contre, si vous effectuez de nombreuses modifications, ou si vous voyez qu’elles ne sont pas prises en compte, il est préférable de régénérer une nouvelle image de zéro avec le choix « Completely regenerate the boot images« .
Patientez pendant la génération de l’image Lite Touch.
À la fin, vérifiez s’il n’y a pas eu d’erreur. L’assistant a généré une image 64 bits uniquement, car nous avons désactivé la prise en charge du 32 bits dans les paramètres de MDT. Cliquez sur « Finish« .
B. WDS : importer l’image Lite Touch
Comme évoqué précédemment, c’est cette image que nous devons charger en boot PXE. Ainsi, sur le serveur WDS, il faut l’ajouter en tant qu’image de démarrage.
À partir de la console WDS, ajoutez une nouvelle image et chargez le fichier suivant :
W:\DeploymentShare\Boot\LiteTouchPE_x64.wim
Patientez pendant l’ajout de l’image… et cliquez sur « Terminer« .
L’image Lite Touch est bien ajoutée et elle est en ligne. Ici, l’image « Windows 11 (Boot) » utilisée pour de précédents tests est « Hors connexion » car on souhaite utiliser uniquement l’environnement Windows PE pour solliciter le MDT. Donc, on désactiver les images « inutiles ».
Vous êtes prêts à réaliser un premier essai !
X. Déployer Windows 11 23H2 avec MDT
Il va être temps de passer sur le déploiement d’une machine via MDT ! Vous devez démarrer la machine virtuelle vierge de façon à booter sur le réseau (boot PXE). Après avoir établi une connexion à notre serveur WDS (grâce au DHCP), la VM propose de charger l’image « Lite Touch Windows PE (x64) » : une bonne nouvelle !
Une fois l’image chargée, un écran gris s’affiche avec le texte « Microsoft Deployment Toolkit » et quelques secondes plus tard, un assistant se lance ! Si vous restez bloqué sur un écran gris « Microsoft Deployment Toolkit », vérifiez les droits sur le Deployment Share.
L’onglet « Task Sequence » permet de choisir la séquence de tâches à exécuter. Ici, vous devez retrouver celle créée précédemment.
Passez à l’étape suivante. On vous demande un nom pour cette machine (ce sera le nom de Windows), et vous avez la possibilité d’intégrer le domaine Active Directory par la même occasion. Nous verrons plus tard pour automatiser cette partie.
Par défaut, l’assistant intègre plusieurs étapes pour permettre la récupération de données (sauvegarde et restauration) avant de déployer la nouvelle image système. Dans ce cas présent, c’est une machine vierge, donc ce n’est pas intéressant. En modifiant le fichier CustomSettings.ini, on peut désactiver ces étapes pour gagner du temps.
L’étape « Locale and Time » permet de définir la langue, la disposition du clavier et le fuseau horaire. Tout est déjà correct grâce à la configuration effectuée dans les fichiers INI de MDT.
L’étape « Capture Image » doit être utilisée pour créer une image d’installation (image WIM) à partir de la machine actuelle. En l’occurrence ici, ce n’est pas une machine de référence, mais une machine à déployer donc on sélectionne « Do not capture an image of this computer« .
Comme son nom l’indique, l’étape « BitLocker » sert à activer le chiffrement du disque de la machine. Nous n’allons pas configurer cette partie pour le moment.
Poursuivez jusqu’au lancement de la tâche.
Une fois que le séquence de tâches est lancée, MDT va enchaîner toutes les étapes configurées dans la séquence de tâches sélectionnée. Cela intègre notamment l’installation de l’image Windows 11 Pro 23H2.
Il ne reste plus qu’à patienter pendant que le déploiement est effectué…
Une fois le système installé, vous devriez pouvoir vérifier que le nom correspond bien à celui indiqué précédemment : PC-W11-01. Vous pouvez voir aussi que MDT n’a pas terminé : il installe les mises à jour Windows. En effet, comme il y a des tâches post-installation, MDT continue son travail même après l’installation de l’image système. Très pratique pour exécuter des scripts, installer des applications, etc… Pour avoir une machine prête à l’emploi.
Lorsque c’est terminé, il affiche une fenêtre semblable à celle ci-dessous. L’occasion de savoir s’il y a eu des erreurs ou des avertissements, ou si au contraire, tout s’est bien passé. Il suffit de cliquer sur « Finish« .
Félicitations, vous venez de déployer votre première machine Windows 11 grâce à MDT !
XI. Conclusion
Cette initiation à MDT touche à sa fin ! Le serveur MDT est en place, prêt à vous permettre de déployer de nombreuses machines en s’appuyant sur le serveur WDS qui joue un rôle essentiel pour le démarrage réseau des machines. On peut aller beaucoup plus loin dans la personnalisation avec MDT : c’est ce que nous ferons dans les prochains épisodes de cette série.
Pour ceux qui veulent déployer Windows 10 plutôt que Windows 11, la procédure est sensiblement la même. Par contre, tenez compte de ce correctif à installer en supplément.