[Windows 10] Créer un master windows 10
Pré-requis
Pour suivre cet article et déployer Windows 10, vous devez disposer de :
- 1 serveur de déploiement avec
- 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.
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
- 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.
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
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.
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
- copiez le script RemoveApps.ps1 dont la source se trouve dans le blog de Michaël NIEHAUS (http://blogs.technet.com/b/mniehaus/archive/2015/11/11/removing-windows-10-in-box-apps-during-a-task-sequence.aspx). C’est-ce script qui va utiliser le XML ci-dessus et supprimer les applications.
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"
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"
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
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)
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.
C’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>
Une fois créés ici, « épinglez-les » à l’écran de démarrage. La disposition sera conservée.
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).
Commenter cet article