Module 4 : Automatisation - L'Installation Silencieuse
Durée estimée : 1 heure
Introduction
"Zero Touch Provisioning"
L'objectif ultime du déploiement Windows moderne :
- Brancher une clé USB bootable
- Allumer le PC
- Prendre un cafĂ© â
- Revenir devant une machine configurĂ©e et prĂȘte Ă l'emploi
Aucune interaction humaine requise : - â Pas de clic sur "Suivant" 15 fois - â Pas de saisie de clĂ© produit - â Pas de crĂ©ation manuelle de compte - â Pas d'attente devant l'Ă©cran "Bienvenue"
Cette approche réduit le temps de provisioning de 45 minutes à 15 minutes et élimine 100% des erreurs humaines.
Concept : Architecture Unattended
Le Fichier XML Magique
Windows utilise un fichier de réponses appelé autounattend.xml :
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<!-- Configuration du partitionnement -->
</settings>
<settings pass="specialize">
<!-- Configuration de la machine -->
</settings>
<settings pass="oobeSystem">
<!-- Configuration utilisateur -->
</settings>
</unattend>
Emplacement :
- Sur la clé USB : \sources\$OEM$\$$\Panther\autounattend.xml
- Ou à la racine de la clé : \autounattend.xml (détection automatique)
Avantage NTLite : Vous ne codez jamais ce XML manuellement. L'interface génÚre tout automatiquement.
Configuration Passes (Les Ătapes d'Installation)
Windows exécute l'installation en 4 phases distinctes, chacune avec des responsabilités spécifiques :
flowchart TD
A[windowsPE] -->|Phase 1: Environnement préinstallation| B[offlineServicing]
B -->|Phase 2: Configuration hors-ligne| C[specialize]
C -->|Phase 3: Configuration machine| D[oobeSystem]
D -->|Phase 4: ExpĂ©rience utilisateur| E[SystĂšme prĂȘt]
A1[Partitionnement disque<br/>Sélection de l'image<br/>Configuration réseau] -.->|Contenu| A
B1[Injection de drivers<br/>Installation de packages<br/>Configuration systĂšme] -.->|Contenu| B
C1[Nom de machine<br/>Domaine/Workgroup<br/>Clé produit] -.->|Contenu| C
D1[Création de comptes<br/>ParamÚtres régionaux<br/>OOBE Skip] -.->|Contenu| D
style A fill:#2196F3
style B fill:#FF9800800800
style C fill:#ffe1f5
style D fill:#4CAF50
style E fill:#90EE90
1. windowsPE
RÎle : Démarrage dans l'environnement de préinstallation (WinPE)
Configurations possibles : - đŸ Partitionnement du disque (UEFI/BIOS, GPT/MBR) - đ SĂ©lection automatique de l'image Ă installer (index 1, 2, etc.) - đ Configuration rĂ©seau pour installation PXE
Exemple concret :
L'utilisateur dĂ©marre â WinPE charge â Efface Disk 0 â CrĂ©e partitions â Lance l'installation
2. offlineServicing
RÎle : Modifications apportées à l'image avant le premier boot
Configurations possibles : - đ§ Injection de drivers supplĂ©mentaires - đŠ Installation de packages (.cab, .msu) - đ ïž Modifications du registre hors-ligne
Note : Rarement utilisé en NTLite (les drivers sont déjà intégrés au Module 3)
3. specialize
RÎle : Personnalisation de l'installation pour cette machine spécifique
Configurations possibles : - đ„ïž Nom de la machine (fixe ou gĂ©nĂ©rĂ©) - đą Jonction au domaine Active Directory ou Workgroup - đ ClĂ© produit Windows (si pas AVMA/KMS) - đ Fuseau horaire
Exemple concret :
Machine nommĂ©e "PC-COMPTA-01" â Rejoint le domaine "ENTREPRISE.LOCAL" â Applique la clĂ© produit
4. oobeSystem
RÎle : Configuration de l'expérience utilisateur final (Out-of-Box Experience)
Configurations possibles : - đ€ CrĂ©ation de comptes locaux ou domaine - đ ParamĂštres rĂ©gionaux (langue, clavier, fuseau horaire) - â OOBE Skip : DĂ©sactiver les Ă©crans de bienvenue
Exemple concret :
CrĂ©e l'utilisateur "Stagiaire" â Configure clavier FR â Skip l'Ă©cran "Choisir sa rĂ©gion" â Auto-login
Pratique : Interface NTLite
Emplacement dans NTLite
L'interface est divisée en sections correspondant aux Configuration Passes.
Section "General"
Chemin : Unattended > General
Options clés :
| Option | Effet | Recommandation |
|---|---|---|
| Auto-fill defaults | Remplit automatiquement les champs manquants | â Toujours activer |
| Hide account pages | Masque l'Ă©cran de crĂ©ation de compte | â Si compte auto-créé |
| Skip machine OOBE | Passe les Ă©crans de configuration machine | â En entreprise |
| Express settings | Accepte automatiquement les paramĂštres "rapides" | â ïž ProblĂšme vie privĂ©e |
Configuration recommandée :
â Auto-fill defaults
â Hide account pages (si compte créé en oobeSystem)
â Express settings (dĂ©sactiver pour contrĂŽle total)
Section "Localization"
Chemin : Unattended > Localization
ParamÚtres régionaux :
| ParamĂštre | Valeur pour France | Description |
|---|---|---|
| Input Locale | fr-FR |
Disposition du clavier |
| System Locale | fr-FR |
Langue des programmes non-Unicode |
| UI Language | fr-FR |
Langue de l'interface Windows |
| User Locale | fr-FR |
Format de date/heure/monnaie |
| Time Zone | Romance Standard Time |
Fuseau horaire (Paris) |
Astuce : Si vous déployez dans plusieurs pays, laissez vide pour laisser l'utilisateur choisir.
Section "Users"
Chemin : Unattended > Users
Créer un compte local :
Bouton : Add > Local Account
Champs :
| Champ | Exemple | Notes |
|---|---|---|
| Username | Stagiaire |
Sans espaces (recommandé) |
| Full Name | Compte Stagiaire |
Nom affiché |
| Password | (vide) ou P@ssw0rd |
â ïž Vide = compte sans mot de passe |
| Groups | Administrators |
Droits admin locaux |
| Auto-logon count | 1 |
Connexion automatique au 1er boot |
Cas d'usage :
Scénario 1 : Salle de formation
â Username: Stagiaire, Password: (vide), Auto-logon: 999
Scénario 2 : Poste de travail sécurisé
â Username: Admin, Password: ComplexP@ss, Auto-logon: 0, Groups: Administrators
Scénario 3 : Kiosk public
â Username: Public, Password: (vide), Auto-logon: 999, Groups: Users
â ïž SĂ©curitĂ© :
- Auto-logon stocke le mot de passe en clair dans le registre (HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon)
- à utiliser UNIQUEMENT en environnement contrÎlé (formation, kiosk, VM)
Section "OOBE Extended"
Chemin : Unattended > OOBE Extended
Les fameux "Skip" :
| Option | Ăcran Ă©vitĂ© | Impact |
|---|---|---|
| Skip EULA | Accepter les conditions d'utilisation | â ïž LĂ©gal : vĂ©rifier licence entreprise |
| Skip Privacy Settings | ParamĂštres de confidentialitĂ© | â RecommandĂ© (Ă©vite tĂ©lĂ©mĂ©trie) |
| Skip Wireless Setup | Configuration Wi-Fi | â Si Ethernet uniquement |
| Skip MSA (Microsoft Account) | CrĂ©ation compte Microsoft | â OBLIGATOIRE en entreprise |
| Skip Cortana | Activation de Cortana | â Inutile en pro |
| Skip OneDrive | Configuration OneDrive | â Si NAS/SharePoint utilisĂ© |
Configuration type entreprise :
â Skip EULA (aprĂšs validation juridique)
â Skip Privacy Settings
â Skip Wireless Setup (dĂ©ploiement filaire)
â Skip MSA
â Skip Cortana
â Skip OneDrive
Résultat : L'utilisateur arrive directement sur le bureau aprÚs l'installation.
Section "Disk Configuration" (â ïž DANGER ZONE)
Chemin : Unattended > Disk Configuration
Partitionnement automatique :
Option : Automatic ou Custom
Mode Automatic :
NTLite détecte :
- UEFI â CrĂ©er GPT (ESP + MSR + Windows)
- BIOS â CrĂ©er MBR (System + Windows)
Mode Custom :
<DiskConfiguration>
<Disk wcm:action="add">
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk> <!-- â ïž EFFACE TOUT -->
<CreatePartitions>
<!-- Partition UEFI -->
<CreatePartition wcm:action="add">
<Order>1</Order>
<Type>EFI</Type>
<Size>100</Size>
</CreatePartition>
<!-- Partition Windows -->
<CreatePartition wcm:action="add">
<Order>2</Order>
<Type>Primary</Type>
<Extend>true</Extend> <!-- Utilise tout l'espace restant -->
</CreatePartition>
</CreatePartitions>
</Disk>
</DiskConfiguration>
đš RISQUE MAJEUR :
WillWipeDisk = true â EFFACE TOUTES LES DONNĂES DU DISQUE 0
Si vous démarrez accidentellement sur cette USB sur votre PC de production :
â TOUTES VOS DONNĂES SONT PERDUES
Recommandations de sĂ©curitĂ© : 1. â Tester UNIQUEMENT en machine virtuelle d'abord 2. â Ajouter un Ă©cran de confirmation (dĂ©sactiver "Hide all screens") 3. â Ătiqueter la clĂ© USB : "â ïž WIPE DISK - FORMATION UNIQUEMENT" 4. â JAMAIS utiliser en production sans sauvegarde complĂšte
Exercice : "Salle de Formation"
Scenario
Vous devez réimager 20 PCs identiques pour une salle de formation : - Session de 2 jours sur Excel/Word - Les stagiaires ne doivent PAS voir les écrans d'installation - Compte local sans mot de passe (facilité d'accÚs) - Interface en français
Mission
Ătape 1 : Configuration de la langue
- Charger votre image (du Module 3)
- Aller dans Unattended > Localization
- Configurer :
Ătape 2 : CrĂ©ation du compte utilisateur
- Aller dans Unattended > Users
- Cliquer Add > Local Account
- Remplir :
Question de réflexion : Pourquoi Auto-logon count: 1 et pas 999 ?
đĄ RĂ©ponse
Avec `1`, le compte demande le mot de passe aprĂšs le premier redĂ©marrage. Cela Ă©vite qu'un stagiaire redĂ©marre et accĂšde automatiquement au compte.Ătape 3 : DĂ©sactiver TOUS les Ă©crans OOBE
- Aller dans Unattended > General
-
Activer :
-
Aller dans Unattended > OOBE Extended
- Activer :
Ătape 4 : BONUS - Partitionnement automatique (â ïž DANGER)
â ïž ATTENTION : Cette Ă©tape efface TOUT le Disque 0. Ă faire UNIQUEMENT sur les PCs de formation (neufs ou Ă rĂ©initialiser).
- Aller dans Unattended > Disk Configuration
- Sélectionner Automatic
- Cocher :
Mesure de sécurité :
- Créer un fichier texte DANGER_WIPE.txt à la racine de la clé USB :
â ïž CETTE CLĂ USB EFFACE AUTOMATIQUEMENT LE DISQUE 0 â ïž
Ă UTILISER UNIQUEMENT SUR LES PCS DE LA SALLE B201
Ătape 5 : Validation finale
Avant d'appliquer, vérifier dans Pending Changes :
- [ ]
autounattend.xmlsera généré - [ ] Langue configurée en fr-FR
- [ ] Compte "Stagiaire" créé
- [ ] Tous les OOBE Skip activés
- [ ] Disk 0 sera effacé (si configuré)
Appliquer et créer l'ISO bootable.
Ătape 6 : Test en VM (OBLIGATOIRE)
JAMAIS déployer sans tester en VM d'abord :
- Créer une VM VirtualBox/Hyper-V
- Booter sur l'ISO
- Observer :
- â Aucune interaction requise
- â L'installation se lance automatiquement
- â Le disque est partitionnĂ© sans confirmation
- â AprĂšs 15 minutes, arrivĂ©e directe sur le bureau
-
â Connexion automatique avec le compte "Stagiaire"
-
Vérifier :
- Langue Windows en français
- Clavier AZERTY fonctionnel
- Aucun écran OOBE résiduel
Solution
đ Configuration NTLite ComplĂšte (Cliquez pour dĂ©plier)
### 1. GeneralUnattended > General
â Auto-fill defaults
â Hide account pages
â Skip machine OOBE
â Express settings (dĂ©sactiver pour vie privĂ©e)
Unattended > Localization
Input Locale: fr-FR
System Locale: fr-FR
UI Language: fr-FR
User Locale: fr-FR
Time Zone: Romance Standard Time
Unattended > Users > Add > Local Account
Username: Stagiaire
Full Name: Compte Stagiaire
Password: (vide)
Groups: Users
Auto-logon count: 1
Unattended > OOBE Extended
â Skip EULA
â Skip Privacy Settings
â Skip Wireless Setup
â Skip MSA (Microsoft Account)
â Skip Cortana
â Skip OneDrive
â Skip Region
â Skip Keyboard
Disk 0 :
âââ Partition 1 (EFI System Partition) : 100 MB
âââ Partition 2 (Microsoft Reserved) : 16 MB
âââ Partition 3 (Windows) : Reste du disque
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<!-- PHASE 1 : windowsPE -->
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE">
<SetupUILanguage>
<UILanguage>fr-FR</UILanguage>
</SetupUILanguage>
<InputLocale>fr-FR</InputLocale>
<SystemLocale>fr-FR</SystemLocale>
<UILanguage>fr-FR</UILanguage>
<UserLocale>fr-FR</UserLocale>
</component>
<component name="Microsoft-Windows-Setup">
<DiskConfiguration>
<Disk wcm:action="add">
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
<CreatePartitions>
<CreatePartition wcm:action="add">
<Order>1</Order>
<Type>EFI</Type>
<Size>100</Size>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>2</Order>
<Type>MSR</Type>
<Size>16</Size>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>3</Order>
<Type>Primary</Type>
<Extend>true</Extend>
</CreatePartition>
</CreatePartitions>
</Disk>
</DiskConfiguration>
<UserData>
<AcceptEula>true</AcceptEula>
</UserData>
</component>
</settings>
<!-- PHASE 2 : specialize -->
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup">
<TimeZone>Romance Standard Time</TimeZone>
</component>
</settings>
<!-- PHASE 3 : oobeSystem -->
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<ProtectYourPC>3</ProtectYourPC> <!-- 3 = Disable telemetry -->
</OOBE>
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Name>Stagiaire</Name>
<DisplayName>Compte Stagiaire</DisplayName>
<Group>Users</Group>
<Password>
<Value></Value> <!-- Vide -->
<PlainText>true</PlainText>
</Password>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
<AutoLogon>
<Username>Stagiaire</Username>
<Enabled>true</Enabled>
<LogonCount>1</LogonCount>
</AutoLogon>
</component>
</settings>
</unattend>
Points Clés à Retenir
- autounattend.xml est le fichier de réponses automatiques pour Windows Setup
- 4 Configuration Passes : windowsPE â offlineServicing â specialize â oobeSystem
- OOBE Skip est essentiel pour éviter les écrans de bienvenue Microsoft
- Auto-logon stocke le mot de passe en clair â Usage limitĂ© aux environnements contrĂŽlĂ©s
- Disk Wipe = DANGER â Toujours tester en VM d'abord, Ă©tiqueter les clĂ©s USB
Astuces Professionnelles
1. Générer plusieurs profils Unattended
Pour gérer différents scénarios :
NTLite > Presets > Save current settings
â "Formation_Stagiaire.xml"
â "Production_Admin.xml"
â "Kiosk_Public.xml"
Lors d'une nouvelle image :
Presets > Load > Sélectionner le profil adapté
2. Nom de machine dynamique
Au lieu de nommer toutes les machines "PC-Formation" :
Unattended > Machine > Computer Name
Format: PC-%RAND:5%
Résultat: PC-A3F9B, PC-K2M8L, etc.
Format: PC-MAC:3
Résultat: PC-A0B1C2, PC-D3E4F5 (basé sur l'adresse MAC)
3. Scripts FirstLogon (Avancé)
Exécuter des commandes au premier démarrage :
Unattended > RunSynchronous > Add
Command: powershell.exe -ExecutionPolicy Bypass -File C:\Setup\Configure.ps1
Order: 1
Description: Configuration post-installation
Exemple Configure.ps1 :
# Installer Chrome
Start-Process "C:\Setup\ChromeSetup.exe" -ArgumentList "/silent /install" -Wait
# Créer raccourci bureau
$WshShell = New-Object -ComObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Users\Public\Desktop\Excel.lnk")
$Shortcut.TargetPath = "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"
$Shortcut.Save()
# Désactiver Windows Update (formation hors-ligne)
Set-Service wuauserv -StartupType Disabled
4. Clé produit conditionnelle
Si vous avez plusieurs types de licences :
Unattended > Product Key
â Detect edition automatically
Product Key: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
OU laisser vide si :
- Licence OEM (détection automatique dans le BIOS)
- Activation KMS (serveur d'entreprise)
- Volume License (MAK)
Dépannage Courant
ProblĂšme 1 : L'installation demande toujours le clavier
Cause : autounattend.xml non détecté
Solution :
1. Vérifier l'emplacement : \autounattend.xml à la racine de la clé
2. Vérifier l'encodage : UTF-8 (pas UTF-8 BOM)
3. Valider le XML : [xml](Get-Content autounattend.xml)
ProblÚme 2 : Le compte auto-créé n'apparaßt pas
Cause : Conflit entre "Hide account pages" et création manuelle
Solution :
Unattended > General
â Hide account pages (DĂSACTIVER si crĂ©ation de compte)
OU
Unattended > Users
Créer le compte AVANT d'activer "Hide account pages"
ProblĂšme 3 : "Windows ne trouve pas de disque"
Cause : Drivers de stockage manquants dans boot.wim
Solution :
Retour au Module 3 :
1. Drivers > Add > NVMe/SATA Controller
2. Clic droit > Integrate into Boot image
3. Rebuild ISO
Prochaine Ătape
Dans le Module 5 (TP Final), nous verrons : - đ ScĂ©nario complet : CrĂ©er une image de A Ă Z pour une PME - đ Workflow mensuel : Maintenir l'image Ă jour (drivers + updates) - đ€ Automatisation CLI : Utiliser NTLite en ligne de commande (scripts PowerShell) - đŠ DĂ©ploiement MDT/WDS : IntĂ©grer l'image dans une infrastructure de dĂ©ploiement
Rendez-vous au TP Final pour mettre en pratique tous les modules dans un projet réel !
Navigation
| â Module 3 : IntĂ©gration - Drivers & Up... | Module 5 : TP Final - L'Image Master ... â |