Table de Matieres
I. Présentation
Pour faire suite à l’article de Florian « MDT : Créer une clé USB LiteTouch bootable » et répondre à certaines interrogations sur cette technique de déploiement, je vous propose un petit tutoriel sur le thème « Comment réaliser une installation MDT à partir d’un média autonome (typiquement une clé USB)« .
Le MDT (alias Microsoft Deployment Toolkit) est une boite à outils pleine de ressources (ou de surprises pour certains).
Généralement, le MDT est associé à des installations et déploiement au travers du réseau. Parfois, en l’absence d’un serveur PXE, on utilise une clé USB (ou un CD/ISO) pour assurer la séquence d’amorçage du client LTI (LiteTouch) mais les ressources demeurent partagées sur un serveur.
Dans le cas, où le réseau devient une contrainte (bande passante limitée, déploiements autonomes en atelier ou pas), la solution MDT peut encore vous venir en aide, grâce à l’utilisation du mode « MEDIA ».
II. Mise en œuvre
Je ne reviendrais pas sur l’installation et la configuration de base d’un MDT. Autrement dit, je considère que la maquette de départ est composée de :
- Un système Windows 7 x64 PRO avec MDT2013 + ADK8.1up1
- Ajout d’un Windows 7 x64 PRO sous « Operating Systems »
Pour cette démonstration, nous avons besoin des 3 fonctionnalités suivantes sélectionnées dans le kit ADK.
Note : Je n’ai pas choisi l’ADK10-1607 en raison d’une erreur « bcdedit » inexpliquée lors de la génération de l’image ISO finale.
A. Préliminaires
Pour cette démonstration, nous avons besoin d’au moins, un système d’exploitation disponible dans la console MDT :
B. Déclaration d’une séquence de taches
Sélectionnez la rubrique « Task Sequence » puis le menu « Action … New Folder » ou le menu contextuel.
Entrez un nom tel que « Deploy Media » et une description éventuelle pour ce nouveau dossier, puis cliquez sur 2 fois sur « Next » puis sur « Finish« .
Sélectionnez ce nouveau dossier puis le menu « Action … New Task Sequence » ou le menu contextuel.
Entrez un identifiant et une description puis cliquez sur « Next »
Choisissez « Standard Client Task Sequence » dans la liste déroulante puis cliquez sur « Next »
Sélectionnez votre système d’exploitation puis cliquez sur « Next« .
Renseignez les écrans suivants en fonction de vos besoins, puis cliquez sur « Finish« .
Je ne m’attarderais pas sur les nombreux ajustements possibles dans la séquence de tache, tels que l’injection de pilotes par modèle, l’installation d’application… mais vous comprendrez rapidement l’intérêt de créer des sous-dossiers dans le MDT et l’utilité des profils de sélection.
Précision : Pour rappel, les dossiers MDT affichés dans la console MDT sont référencés dans des fichiers XML (situés sous \Control) et ne sont pas visibles dans la structure de fichiers de la ressource partagée MDT. (D’où l’importance de toujours effectuer vos opérations de copie, déplacement, renommage ou autre suppression uniquement au sein de la console). Cette arborescence MDT permet essentiellement de définir des profils de sélection, dont vous pourrez cochez que les dossiers contenants les éléments désirés.
C. Définition d’un profil de sélection
Cette étape devient importante dès lors que le MDT contient beaucoup d’éléments tels que différents systèmes, applications, package, pilotes, etc …
Pour visualiser et/ou déclarer un profil de sélection, vous devez développer l’arborescence de la console jusqu’à « Advanced configuration … Selection Profiles »
Pour la démonstration, nous allons créer un profil spécifique à ce type de déploiement.
Sélectionnez la rubrique « Selection Profiles » puis le menu « Action … New Selection Profile » ou le menu contextuel.
Entrez un nom et une description éventuelle pour ce nouveau profil, puis cliquez sur « Next« .
Pour cet exemple, nous n’avons pas d’applications, de packages, ni de pilotes spécifiques mais vous comprendrez que l’usage de sous-dossiers dans les différentes rubriques permet d’ajuster au mieux les éléments à conserver sur le média de destination.
Cochez les dossiers désirés, cliquez 2 fois sur « Next » et puis sur « Finish« .
D. Déclaration du média LTI
Pour la déclaration du média, vous devez développer l’arborescence de la console jusqu’à « Advanced configuration … Media »
Sélectionnez cette rubrique « Media » puis le menu « Action … New Media » ou le menu contextuel.
Entrez un chemin (Media path), une description éventuelle et sélectionnez votre profil précédemment créé, puis cliquez 2 fois sur « Next« .
Note : Evitez d’affecter un chemin ou lecteur réseau pour l’emplacement du média, au risque d’avoir un message d’erreur lors de la génération de l’image ISO finale.
Une fois l’opération de copie achevée, cliquez sur « Finish« .
Sélectionnez le nouveau « MEDIA001 » qui apparait dans la fenêtre de détails puis utilisez le menu « Action … Propriétés« .
Sous l’onglet « General« , vous avez encore la possibilité de choisir quelques options, telles que décocher « Generate x86 boot image« , inutile dans cet exemple.
Nous conservons la dernière option « Generate a Lite Touch bootable ISO image » afin de disposer d’un média utilisable au sein d’une machine virtuelle.
Sous l’onglet « Rules« , vous retrouverez le désormais célèbre « CustomSettings.ini » ainsi que le fichier « Bootstrap.ini« .
Le contenu est variable selon vos préférences et les ajustements effectués. Pour cette démonstration, je vous propose d’ajouter les directives suivantes sous la section (Default), afin d’automatiser les différents écrans de l’assistant de déploiement.
Ces choix restent bien évidement à votre discrétion. Ajoutez simplement un point-virgule en début de ligne pour l’ignorer.
CustomSettings.ini
(Settings) Priority=Default Properties=MyCustomProperty (Default) OSInstall=Y SkipCapture=YES SkipAdminPassword=YES SkipProductKey=YES SkipPackageDisplay=YES SkipBDDWelcome=YES SkipAppsOnUpgrade=YES SkipComputerName=YES SkipDomainMembership=YES SkipUserData=YES SkipComputerBackup=YES SkipLocaleSelection=YES SkipTaskSequence=YES SkipTimeZone=YES SkipApplications=YES SkipBitLocker=YES SkipSummary=YES SkipFinalSummary=NO _SMSTSOrgName=Demo Deploy Media _SMSTSPackageName=Installation en cours.... OSDComputerName=DEMO-#Right("%SerialNumber%",10)# TimeZone=105 TimeZoneName=Romance Standard Time UILanguage=fr-FR ; KMS Default key for Windows 7 Pro ProductKey=FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4 JoinWorkgroup=WORKGROUP TaskSequenceID=0001
A défaut, vous devrez valider chacun des écrans proposés durant le déploiement.
Remarque : Dans le cadre d’un déploiement par média, le fichier « Bootstrap.ini » n’a généralement pas besoin d’être personnalisé. Toutefois, pour assurer quelques réglages vous pouvez ajouter le contenu suivant :
(Settings) Priority=Default (Default) SkipBDDWelcome=YES KeyboardLocale=fr-FR KeyboardLocalePE=040c:0000040c InputLocale=040c:0000040c UILanguage=fr-FR
Pour cet exemple, nous ne toucherons pas au dernier onglet « Windows PE« . Cliquez sur « Appliquer » et/ou « OK » afin de valider ces changements.
Sélectionnez de nouveau la ligne « MEDIA001 » dans la fenêtre de détails puis utilisez le menu « Action … Update Media Content« .
Le processus de fabrication, relativement long, va copier les éléments sélectionnés via le profil vers un sous-dossier « (MediaPath)\Content« , puis générer le noyau WinPE LiteTouch et enfin générer l’image .ISO (que nous avons demandé).
Une fois la compilation terminée, nous pouvons tester le résultat dans une machine virtuelle à partir de l’image « LiteTouchMedia.iso« .
Si vous avez suivi l’exemple à lettre, l’installation devrait débuter sans aucune intervention de votre part.
Pour tester à partir d’un média USB, il suffit de préparer la clé comme suit :
- A partir d’une invite de commande en tant qu’administrateur
DISKPART List Disk Select Disk n (où n correspond au média USB) Clean Create Partition Primary Format fs=ntfs quick label=MDT-Media Assign Letter=k: Exit
- A partir de l’explorateur Windows ou d’une invite de commande
Copiez l’intégralité du dossier « Content » vers la clé USB (ici « k:\ » )
III. Cas UEFI et WIM supérieure à 4Go
Vous pouvez constater que ce genre de déploiement n’est pas très compliqué à mettre en œuvre. Toutefois, j’attire votre attention sur le fait qu’une image WIM personnalisée peut rapidement dépasser la taille fatidique de 4 Go. Ceci implique de fait un formatage du média USB en NTFS (comme mentionné précédemment).
Hors, le formatage d’un média d’amorçage en NTFS n’est pas (toujours) compatible avec une installation sur un PC qui supporte l’UEFI. En revanche, si vous formatez votre clé USB en FAT32 pour ce type d’installation, vous ne pourrez pas y loger l’image WIM de plus de 4Go.
Vous ne pouvez pas non plus opter pour un partitionnement double (FAT32 + NTFS) à moins de disposer d’une clé reconnue en tant que « Disque » et non en tant « Amovible ». cf http://www.msnloop.com/creer-une-cle-uefi-pour-mdt-2013/
Sur les « supports amovibles », typiquement les clés USB, Windows ne reconnait que la première partition.
Donc pour résoudre cette problématique, et pouvoir installer une poste UEFI à partir d’une clé USB standard et une image WIM supérieure à 4 Go, il ne reste que 2 solutions :
- Découper l’image WIM en fichiers SWM inférieurs à 4Go, (via DISM par exemple), et les déposer sur votre clé USB formatée en FAT32. Sans oublier de vérifier que la séquence de tache MDT (notamment le script ZTIApply.wsf) prend bien en compte cette particularité. (Officiellement prise en compte à partir de MDT2013 update1)
- Utiliser l’outil « Rufus« , d’une simplicité déconcertante….
Vous pouvez trouver l’outil Rufus ici dont une version « portable » à conserver précieusement dans votre boite à outils 🙂
- Insérez votre clé USB puis lancez « Rufus »
- Choisissez l’option « Type de partition GPT pour UEFI » dans la liste déroulante
- Conservez le système de fichier proposé (FAT32)
- Cliquez sur le bouton en face de « Créer un disque de démarrage… » puis sélectionnez l’image ISO « LiteTouchMedia.iso »
- Cliquez sur le bouton « Démarrer », et c’est fini 😀
Bon déploiement à tous