Déploiement de Windows 10 avec MDT.

Déployer Windows 10 en entreprise de façon traditionnelle, c’est-à-dire en créant un Master de référence, n’est pas aisé pour qui vient comme moi de Windows 7. Et Microsoft a bien pensé les choses… pour que vous vous arrachiez les cheveux et finissiez par dépit par prendre un prestataire fort cher, mais certifié Gold !

L’éparpillement des documentations (parcellaires) de Microsoft et les bricolages à effectuer pour que toutes les étapes, de la capture de l’image à sa distribution finale se passe sans encombre aurait plutôt un effet dissuasif.

J’ai donc dans ce billet recompilé toutes les sources d’informations qui m’ont permis de :

  • créer une image de référence Windows 10 professionnel 1511 personnalisée, c’est-à-dire
    • En retirant les applications « Metro » indésirables en entreprise (xbox, Skype, Solitaire, etc.)
      Elles ne peuvent se désinstaller par la souris, mais via des commandes Powershell
    • Et en personnalisant le master aux couleurs de l’entreprise
  • capturer l’image
  • la déployer sur des PC et tablettes

Je n’explique pas en détail le fonctionnement de MDT (Microsoft Deployment Toolkit), d’autres articles s’en chargent mieux que moi. J’aborde ci-dessous les grandes étapes (communes à tous les OS) ainsi que les spécificités Windows 10 que j’ai du déchiffrer pour arriver au résultat final.

Pré-requis

Pour suivre cet article et déployer Windows 10, vous devez disposer de :

  • 1 serveur de déploiement avec
    • Windows ADK (anciennement WAIK) pour Windows 10 version 1511 de novembre 2015 (ICI) : dans l’assistant d’installation, incluez les composants de déploiement
    • MDT 2013 update 2 (ICI) installé et configuré
    • L’image ISO de Windows 10 1511 pro
  • Un moteur de machine virtuelle sur lequel vous créerez une image de référence et des snapshots si besoin . J’ai utilisé VMWare Workstation 12, mais l’hyperviseur gratuit VirtualBox doit pouvoir fonctionner.
  • les packages MDT/SCCM de pilotes de vos machines cibles pour Windows 10

Et vous devez avoir déjà utilisé MDT pour comprendre les séquences de tâche décrites.

Image de référence : conception de votre master

Je me base ici sur ce guide pas à pas pour capturer une image de référence Windows 10 : https://technet.microsoft.com/fr-fr/library/mt297533(v=vs.85).aspx

Création et paramétrage d’un point de déploiement vierge

Si vous utilisez déjà MDT pour l’installation d’autres versions de Windows, Il est obligatoire de le mettre à jour dans sa dernière version (Installation transparente par-dessus l’existante) puis de créer un nouveau point de déploiement vierge.

En effet des scripts incluant la gestion de Windows 10, parus depuis les versions de MDT de aout 2015, sont copiés à la création de ce point de déploiement. Je l’ai appris à mes frais en effectuant mes premiers essais sur un partage dédié à Windows 7 et malgré une bonne version de MDT. Ce fut un échec dès la phase « Sysprep » à cause de scripts erronés

Dans ce nouveau point de déploiement, effectuez les actions de préparation habituelle :

  • importez le contenu de l’ISO de Windows 10 originale dans le dossier « Operating system » : clic-droit => Import operating system, choisissez le contenu de l’ISO et indiquez qu’il s’agit d’un « full set of files »,
  • importez tous les pilotes de vos machines cibles, dans une arborescence les classant par marque et modèle d’ordinateur cible.

Pilotes MDT

Vous obtiendrez la marque et le modèle exact en tapant les commandes suivantes sur vos machines cibles en commande DOS:

wmic
computersystem get manufacturer 
computersystem get model

WMIC Windows

  • Modifiez les fichiers bootstrap.ini et customsettings.ini : il est conseillé d’avoir deux fichiers « customsettings.ini » : un contenant les directives pour la capture d’image et un autre pour le déploiement sur les machines cibles ; certains paramètres peuvent parasiter l’un ou l’autre processus. Ci-dessous tous mes fichiers de configuration commentés :

Bootstrap.ini (Préchargement, permet de se connecter au dossier partagé) :

Connexion au point de déploiement, avec les credentials autorisés

[Settings]
Priority=Default
[Default]
DeployRoot=\\Serveur.domaine.com\partage-du-point-de-deploiement$
UserDomain=domaine.com
UserID=Utilisateur-autorisé-à-lire-et-ecrire-sur-le-partage
UserPassword=********
SkipBDDWelcome=YES

Customsettings.ini pour la capture :

Les paramètres skip*** permettent de sauter les écrans inutiles de l’assistant MDT. On évite également l’application de GPO par défaut (qui peuvent empêcher votre OS de se connecter à votre réseau). ENfin l’environnement en français est précisé.

[Settings]
Priority=Default 

[Default]
UserDataLocation=NONE
OSInstall=YES
DoCapture=YES
AdminPassword=********
ApplyGPOPack=NO
SkipAppsOnUpgrade=YES
SkipCapture=NO
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerName=YES
SkipDomainMembership=YES
SkipUserData=YES
SkipLocaleSelection=YES
SkipTaskSequence=NO
SkipTimeZone=YES
SkipApplications=YES
SkipBitLocker=YES

KeyboardLocale=040c:0000040c
UserLocale=fr-FR
UILanguage=fr-FR
SkipTimeZone=YES
TimeZone=105
TimeZoneName=Romance Standard Time

Customsettings.ini pour le déploiement de votre master :

Peu de différences, si ce n’est qu’on évite l’assistant de capture d’OS (SkipComputerBackup), inutile dans ce cas de figure. La jointure à un domaine Windows est également préchargée. Le compte utilisé n’est autorisé qu’à joindre des PC au domaine.

[Settings]
Priority=Default
[Default]
OSInstall=Y
SkipAppsOnUpgrade=YES
SkipCapture=NO
kipAdminPassword=YES
SkipProductKey=YES
SkipLocaleSelection=YES
SkipComputerBackup=yes
KeyboardLocalePE=040c:0000040c
KeyboardLocale=040c:0000040c
UserLocale=fr-FR
UILanguage=fr-FR
SkipTimeZone=YES
TimeZone=105
TimeZoneName=Romance Standard Time
SkipBitLocker=YES
ComputerBackupLocation=NONE
JoinDomain=domaine.com
DomainAdmin=compte_admin
DomainAdminDomain=domaine.com
DomainAdminPassword=******

Préparation de votre média de démarrage WinPE

WinPE est un OS basé sur Windows servant uniquement à la création de médias de secours ou d’installation (sa licence d’utilisation exclut en effet tout autre usage techniquement possible).

Suivez toutes ces étapes de façon à ne pas avoir à reconstruire votre média WinPE plusieurs fois.

Dans les propriétés de votre point de déploiement, paramétrez la génération des images de boot WinPE. Incluez tous les pilotes réseau, affichage et système de base.

MDT WinPE Packages

Spécificités Windows 10 :

  • L’image WinPE 64 bits autrefois inutile est indispensable si vous souhaitez conserver le mode de démarrage UEFI et SecureBoot qu’offrent les derniers modèles de PC et tablettes (sauf si vous devez installer du Windows 10 32 bits)
  • Ajoutez impérativement les composants suivants à votre image WinPE :
    • Powershell
    • .Net Framework
    • DISM cmdlets
    • Storage Management cmdlets

MDT WinPE Packages

Tous ces composants vous seront utiles pour désinstaller les applications metro avant la finalisation de Windows.

Modification de la séquence de tâches de capture

MDT n’est ni plus ni moins qu’un ordonnanceur de tâches appelées task sequences, dont les plus usuelles sont déjà paramétrées dans l’outil.

Créez une nouvelle tâche de type « standard client task sequence » à laquelle vous allez apporter quelques modifications :

  • Après l’étape « Windows update pre-application », insérez une tâche « Suspend » qui exécute le script existant :
%scriptroot%\ltisuspend.wsf

Ceci aura pour effet de mettre en pause la séquence de tâche et vous permettre de personnaliser Windows avant sa capture

  • Activez les tâches « Windows Update Pre-application » et « Windows Update Post-application » de façon que Windows 10 soit à jour avant les installations de logiciels que vous souhaitez insérer dans l’image et avant la capture du master.

MDT Suspend

Désinstallation des applications par défaut « built-in apps »

Spécificité Windows 10 : Si vous prévoyez de désinstaller des applications « Metro » et leur package associé, ceci peut être effectué durant la première phase d’installation, avant le 1er démarrage de Windows. C’est le « mode offline » et c’est le plus rapide. Pour ce faire, dans le dossier scripts de votre point de déploiement :

  • créez un fichier nommé powershell.exe.config qui contiendra :
<?xml version="1.0" encoding="utf-8" ?> 
 <configuration>
    <runtime>
      <loadFromRemoteSources enabled="true"/>
    </runtime>
 </configuration>
  • Créez un fichier RemoveApps.xml qui contiendra la liste des applications à désinstaller et dont voici la liste exhaustive (supprimez les lignes des applications que vous souhaitez conserver, personnellement j’ai laissé la caméra et bing maps) :
 Microsoft.3DBuilder
 Microsoft.Appconnector
 Microsoft.BingFinance
 Microsoft.BingNews
 Microsoft.BingSports
 Microsoft.BingWeather
 Microsoft.CommsPhone
 Microsoft.ConnectivityStore
 Microsoft.Getstarted
 Microsoft.Messaging
 Microsoft.MicrosoftOfficeHub
 Microsoft.MicrosoftSolitaireCollection
 Microsoft.Office.OneNote
 Microsoft.Office.Sway
 Microsoft.People
 Microsoft.SkypeApp
 Microsoft.WindowsAlarms
 microsoft.windowscommunicationsapps
 Microsoft.XboxApp
 Microsoft.ZuneMusic
 Microsoft.ZuneVideo

De retour dans l’interface MDT, et pour plus de lisibilité, créez un groupe de tâches dans la partie « PostInstall » dans lequel vous allez exécuter 3 commandes :

  • Copy Powershell Configuration : Exécutez la commande :
xcopy.exe /Y %scriptroot%\powershell.exe.config X:\Windows\System32\WindowsPowerShell\v1.0\
  • Set-executionPolicy Bypass : Exécutez la commande :
powershell.exe -command "Set-ExecutionPolicy Bypass"
  • Remove Built-in Apps : Exécutez la commande :
powershell.exe -file "%scriptroot%\RemoveApps.ps1"

MDT Remove Metro Apps

Important : Il est primordial d’empêcher l’accès Internet au moment du « Sysprep » en insérant avant la tâche « Apply Sysprep » la commande suivante :

cmd.exe /c netsh advfirewall firewall add rule name="Block Internet" proto=TCP dir=out localport=any action=block en=yes profile=any remoteport=80,443

Puis juste après Sysprep, insérez une autre tâche avec la commande :

cmd.exe /c netsh advfirewall firewall delete rule name="Block Internet"

Source : http://blogs.technet.com/b/brandonlinton/archive/2015/08/28/windows-10-sysprep-fails-after-removing-or-updating-windows-built-in-windows-store-apps.aspx)

MDT Block Internet Access

Ne vous occupez pas des drivers si vous prévoyez de capturer Windows depuis une machine virtuelle, ceux par défaut suffisent amplement.

Votre séquence de tache est terminée. Vous pouvez dores et déjà personnaliser votre OS avant l’exécution de celle-ci grâce au fichier unattend.xml

Personnalisation du master : le fichier de réponses unattend.xml

Dans les propriétés de votre tâche de capture, onglet « OS Info », éditez le fichier unattend.xml qui y est associé.

Ce qui est détaillé ci-dessous n’est pas propre à Windows 10.

Vous allez personnaliser différentes étapes de génération de votre Master, notamment :

  • Generalize : opérations réalisées au moment de l’exécution du sysprep
  • Specialize et OOBE seront appliquées au déploiement de votre OS

MDT WSIN Unattend.xml

L’éditeur WSIM permet d’ajouter des paramètres de configuration à votre image. Le principe est de faire glisser les composants de la section « Image Windows » vers l’étape d’installation du fichier de réponses (le fameux unattend.xml) que vous souhaitez modifier, si ce composant est manquant ou incomplet, refaites-le glisser à la souris.

Le plus important à paramétrer :

4 – Specialize => microsoft_windows-shell-setup_neutral => CopyProfile : TRUE

Ce paramètre va permettre la copie de quasiment tout ce que vous personnaliserez lors de la phase « suspend » vers le profile par défaut et ainsi tout répliquer vers les sessions utilisateurs (menu démarrer, icones, etc.)

Voici quelques autres étapes de configurations que vous pouvez modifier sans crainte :

4 – Specialize

  • microsoft_windows-shell-setup_neutral => OEMInformation
    • Logo : c:\windows\system32\oemlogo.bmp (logo de votre organisation, mettez une image 120*120 en bmp dans ce dossier)
    • Manufacturer : nom de votre organisation
    • Model : par exemple la version du master
    • SupportPhone et SupportURL : n° ou lien d’assistance informatique (champs libres)
  • amd64_Microsoft-Windows-IE-InternetExplorer_neutral
    • DisableFirstRunWizard
    • Homepage

7 – OOBE

  • microsoft_windows-shell-setup_neutral => OEMInformation
    • Idem phase 4
  • microsoft_windows-shell-setup_neutral => OOBE (Paramètres de première exécution de Windows, cache certains assistants inutiles)

unattend OOBE

Façonnez une clé de boot du premier coup !

(sauf si vous utilisez le démarrage depuis le réseau, en PXE)

A la racine du point de déploiement, générez les images de boot WinPE (clic-droit => update deployment share). Vous obtiendrez en quelques minutes les fichiers WIM et ISO 32 et 64 bits.

Pour démarrer depuis une clé USB, copiez le contenu de l’ISO sur une clé que vous aurez au préalable rendue bootable (grâce à ce tutoriel). Elle vous servira lors du déploiement sur vos machines cibles.

Vous pouvez à ce stade commencer à créer votre master.

Installation de Windows, personnalisation et capture

Cette étape va nous mener jusqu’à la capture d’un fichier WIM qui deviendra l’image de référence de votre nouvel OS.

Démarrez sur l’image ISO 64 bits précédemment générée en la montant dans le lecteur DVD de votre machine virtuelle. Votre VM doit pouvoir accéder au réseau, donc au serveur de déploiement.

L’assistant MDT s’affiche :

  • sélectionnez la task sequence créée précédemment.
  • Laissez l’ordinateur dans un Workgroup (surtout pas d’inscription au domaine à ce stade !)
  • Indiquez, si ce n’est déjà affiché, le chemin de stockage de la future capture. (ex : \\serveur\partage MDT\capture\Master-Windows10-Version1.wim
  • Cliquez sur « Begin » !

Windows va s’installer avec ses dernières mises à jour. Allez boire un café, vous reprendrez la main d’ici 30mn environ.

Un message vous informe que la tâche est suspendue et une icône « Resume task sequence » est présente sur le bureau.

MDT LTISuspendC’est maintenant que vous allez personnaliser votre OS avant de le capturer. Voici un inventaire non exhaustif de personnalisation de l’image :

  • Applications communes (messagerie, Office, etc.)

Mon retour d’expérience : N’ajoutez à votre master que les applications que vous savez pérennes. Vous programmerez l’installation des autres durant la séquence de déploiement ce qui vous évitera de reconstruire un master trop souvent.

  • OEMLogo : logo de votre entreprise qui s’affichera dans les pages de support Windows.

Copiez une image OEMlogo.bmp de 120*120 pixels max dans c:\windows\system32

  • Icônes par défaut sur le bureau

Positionnez les raccourcis internet et applicatifs que vous souhaitez sur le bureau. Ceux-ci seront repris dans le profile par défaut lors du déploiement grâce à l’option copy profile = true dans le fichier Unattend.xml.

Spécificité Windows 10 : la disposition des tuiles du menu Démarrer sera également reprise si les raccourcis sont bien existants.

  • Icône d’avatar par défaut

Vous pouvez créer des icones « corporate » qui seront appliqués à chaque utilisateur. Ceux-ci sont à positionner dans C:\programdata\Microsoft\User Account Pictures. Reecréez autant de fichier image « user » que ceux d’origine dans ce dossier. 1 fichier user.bmp, tous les autres au format user-*.png

  • Les raccourcis Internet que vous souhaitez mettre en tuile dans le menu démarrer sont à placer dans le dossier %appdata%\Microsoft\Windows\Start Menu\Programs\<dossier de raccourcis>

MDT Windows 10 shortcuts

Une fois créés ici, « épinglez-les » à l’écran de démarrage. La disposition sera conservée.

MDT Windows 10 Start menu shortcuts

Votre Master est personnalisé et prêt à être compilé !

Faites un snapshot à ce stade, au cas où la capture se passerait mal.

Double-cliquez sur « Resume task sequence ». Un ultime passage de Windows Update s’effectue, suivi du sysprep. Enfin le pc reboote et la capture de l’image commence.

La tâche est finie, lisez les éventuelles erreurs MDT pour jauger leur gravité puis éteignez votre VM (ne la redémarrez pas, elle est à ce stade en statut « out-of-box » ; utilisez les snapshots pour revenir en arrière si besoin).

Déploiement du master

Importez l’image WIM créée lors de la capture dans votre liste de système d’exploitation et créez un tâche de déploiement. Vous y associerez le même fichier unattend.xml créé précédemment. Même s’il contient les paramètres pour les étapes de création de master qui ne nous servent pas ici, cela ne fait qu’un seul fichier à maintenir au lieu de 2.

Vous pouvez dores et déjà vous essayer au déploiement de Windows, mais je détaillerai les quelques subtilités dans un futur billet.

Pour les impatients, voici des précisions sur l’utilisation des drivers classés par marque et modèles : http://www.microsoft-desktop.com/2014/03/mdt-gestion-des-drivers-via-make-model/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *