Ajout du support de unattend

Ajout du script cmd à utiliser pour lancer DeployCenter
This commit is contained in:
benoit committed 2026-10-17 20:41:41 +02:00
1 parent 2019c565f5
commit e067721763
12 files changed
+663 -166

No files matched your search

+19
View File
@@ -6,6 +6,7 @@
- `Modules/ThemeManager.psm1` : découverte, chargement et validation des thèmes PSD1, avec prise en charge des rôles de boutons.
- `Modules/UI.psm1` : contrôles et fenêtres d’interface, construits selon le thème actif.
- `Modules/Deployment.psm1` : partitionnement UEFI/GPT et installation de l’édition Windows sélectionnée.
- `Modules/Unattend.psm1` : découverte et validation des profils de réponse Windows, puis génération sécurisée du XML.
- `Themes/Light.psd1` et `Themes/Dark.psd1` : palettes et styles des boutons.
## Lancement
@@ -52,6 +53,23 @@ La taille configurée par défaut est de 1 Go (1024 Mo). Elle peut être remplac
## Historique récent
- Le `clean` et la création des partitions sont exécutés en deux étapes DiskPart ; `Update-HostStorageCache` actualise les objets Storage entre les deux, puis après le partitionnement, les retraits de lettres et le `mountvol /D` de la source, avant les contrôles concernés. Si le cmdlet est indisponible dans WinPE, le déploiement continue avec un avertissement.
- Le choix « Avec OOBE » ne génère ni n’applique de fichier de réponses et masque la saisie du nom d’hôte. Les profils `Unattend/Profiles/*.psd1` alimentent le menu de la page principale ; le profil `LocalAdmin` configure le nom de machine et crée un compte local de la configuration `[Unattend]`, sans activer le compte intégré Administrator.
- Chaque profil Unattend déclare `Target = 'Workstation'` ou `Target = 'Server'`. Le menu propose les profils correspondant à l’édition retenue (le nom contenant « Server » sélectionne la catégorie serveur) ; avant le choix d’une édition, seul « Avec OOBE » est disponible.
- L’indication « Environnement : WinPE » a été retirée de l’écran principal. Le bloc d’informations PC est moins haut et le bloc de préparation est remonté/compacté afin de dégager les boutons d’action sur les petites résolutions.
- Le template Workstation renseigne les paramètres régionaux français et répond aux pages OOBE de licence, inscription OEM, compte en ligne, réseau sans fil et paramètres express. Le compte local est fourni dans `UserAccounts`; les paramètres `SkipMachineOOBE` et `SkipUserOOBE` ne sont pas utilisés.
- À la fin d’un déploiement réussi, la boîte de confirmation propose le redémarrage WinPE avec une case cochée par défaut. Si elle reste cochée, DeployCenter ferme ses ressources, arrête VNC, démonte l’image source puis demande le redémarrage via `wpeutil`.
- Compatibilité Windows PowerShell 5.1 : les chaînes de diagnostic de `Unattend.psm1` évitent les apostrophes intégrées et le module est enregistré en UTF-8 avec BOM.
- Le groupe local du compte est configuré avec le nom neutre `Administrators`, que Windows traduit selon la langue de l’image ; cela évite de dépendre du libellé français `Administrateurs`.
- Les réponses `specialize` et `oobeSystem` sont placées dans `Windows\Panther\Unattend\Unattend.xml` pour être traitées par Windows Setup au premier démarrage. Le mot de passe du compte local provient de `AdminPasswordBase64` (Base64 UTF-16LE, réversible) et n’est jamais ajouté au journal.
- La vérification du retrait des lettres EFI/WinRE s’appuie sur l’existence réelle des chemins de lecteur : dans WinPE, `Get-Partition` peut conserver une lettre Recovery dans ses métadonnées alors que `mountvol` et le système de fichiers confirment son retrait.
- La lecture du magasin BCD accepte le libellé français `identificateur` de `bcdedit` en plus du libellé anglais `identifier`, pour retrouver l’entrée Windows hors ligne dans un WinPE francophone.
- Correction du pipeline de diagnostic des lettres EFI/WinRE pour rester compatible avec le parseur Windows PowerShell 5.1.
- DiskPart attribue la lettre temporaire de WinRE avant d’appliquer son type Recovery et ses attributs GPT, conformément à l’ordre des exemples Microsoft. En fin de déploiement réussi, la lettre est retirée en sélectionnant explicitement la partition ; `Get-Partition` peut ne pas exposer sa lettre dans WinPE.
- Correction du texte de diagnostic WinRE pour éviter une apostrophe typographique dans une chaîne délimitée par apostrophes simples sous Windows PowerShell 5.1.
- L’activation hors ligne de WinRE utilise désormais le GUID de l’entrée Windows relevé dans le magasin BCD créé par `bcdboot`, conformément aux paramètres REAgentC disponibles dans WinPE.
- Le suivi de progression avec `Start-Process` est réservé à `dism.exe /Apply-Image`. Les autres commandes natives, y compris DISM hors application d’image, sont invoquées directement, leurs sorties sont journalisées et leur code est lu dans `$LASTEXITCODE`.
- En fin de déploiement réussi, seules les lettres temporaires des partitions EFI et WinRE sont retirées. Les lettres Windows et Data définies par le profil restent attribuées ; en cas d’échec, le nettoyage ne retire aucune lettre pour préserver l’état utile au diagnostic.
- Correction du retour du plan de partitionnement : conversion explicite de la liste générique en tableau pour éviter une erreur de types sous Windows PowerShell 5.1 avant l’exécution de DiskPart.
- Sous certains WinPE, le code de sortie de DiskPart peut être absent malgré une exécution réussie. DeployCenter confirme désormais le partitionnement et le retrait des lettres en relisant l’état des partitions.
- Remplacement de l’apostrophe typographique de « d’hôte » par une apostrophe ASCII simple dans le message de validation NetBIOS de `Deployment.psm1`.
@@ -124,6 +142,7 @@ La gestion d'UltraVNC est isolée dans `Modules/VNC.psm1`. Le fichier est charg
- `Modules/HardwareInventory.psm1` : collecte matérielle, sélection d’un disque et export consolidé de l’inventaire.
- `Modules/Partitioning.psm1` : découverte et validation des profils PSD1, calcul de capacité et construction de l’état de dimensionnement.
- `Modules/Deployment.psm1` : orchestration du partitionnement et de l’installation Windows pour les profils UEFI/GPT.
- `Modules/Unattend.psm1` : découverte des profils de réponses Windows, validation de leur configuration et génération du XML utilisé au premier démarrage.
- `Modules/WindowsSources.psm1` : recherche de supports Windows et lecture des éditions WIM/ESD.
## Profils de partitionnement