DeployCenter peut être stocké dans un partage en lecture seule Désactivation de l'hibernation via l'unattend Désactivation de la mise en veille lorsque le pc est sur secteur L'installation unattend empêche bitlocker de s'activer (pas de clé stockée en lieu sûr hors domaine et azure en automatique). Cela n'empêche pas de l'activer en connaissance de cause par la suite.
DeployCenter
DeployCenter est un outil PowerShell de préparation et de déploiement de Windows depuis Windows PE (WinPE). Il détecte le matériel, analyse les sources Windows disponibles, propose une édition et un schéma de partitionnement, puis applique Windows et configure le démarrage UEFI et l’environnement de récupération WinRE.
L’interface est localisée selon la langue d’interface de WinPE (français ou anglais). Les thèmes, profils de partitionnement et profils Unattend sont chargés depuis des fichiers de données afin de faciliter leur personnalisation.
Attention : l’installation efface entièrement le disque physique sélectionné. Vérifiez soigneusement le numéro, le modèle et la capacité du disque avant de confirmer. Une erreur de sélection entraîne la perte de ses données.
Fonctionnalités
- Inventaire matériel et informations sur les disques physiques.
- Recherche de sources Windows sur les chemins configurés, avec prise en charge des images ISO, WIM et ESD ainsi que des sources extraites.
- Sélection de l’édition Windows contenue dans une image.
- Profils de partitionnement UEFI/GPT avec WinRE avant C:, avec ou sans partition D:.
- Installation de pilotes INF correspondant au constructeur, au modèle/SKU et à la version de Windows.
- Génération facultative d’un fichier de réponses Windows (Unattend), notamment pour configurer le nom d’hôte et un compte local.
- Configuration UEFI, copie de
winre.wim, enregistrement et activation de WinRE. - Progression du déploiement, journalisation et copie du journal à la racine de C: après une tentative d’installation.
- Mode interactif ou déploiement automatisé en ligne de commande.
Prérequis et fichiers
DeployCenter est conçu pour fonctionner dans WinPE avec Windows PowerShell 5.1 et les outils Windows nécessaires au déploiement : DISM, DiskPart, mountvol, bcdboot, reagentc, Robocopy et les cmdlets de gestion du stockage. Les images, les partages et les pilotes doivent être accessibles depuis WinPE.
Conservez la structure du dépôt lors de la copie dans l’environnement WinPE :
DeployCenter/
├── DeployCenter.ps1
├── DeployCenter.ini.example
├── HardwareInfo.ps1
├── Assets/
├── Locales/
├── Modules/
├── Partitioning/Profiles/
├── Themes/
└── Unattend/
├── Profiles/
└── Templates/
Les dossiers de modules, thèmes, profils, modèles XML, langues et ressources graphiques sont requis pour les fonctionnalités correspondantes. Le dossier Drivers est normalement placé au même niveau que le dossier DeployCenter.
Installation et premier lancement
- Copiez
DeployCenter.ini.examplesous le nomDeployCenter.inidans le dossier DeployCenter. - Modifiez les chemins de recherche des sources et les paramètres nécessaires. Le fichier INI est lu au démarrage et n’est jamais modifié par l’application.
- Démarrez WinPE, connectez les partages réseau nécessaires et lancez PowerShell dans le dossier DeployCenter.
- Exécutez :
powershell.exe -ExecutionPolicy Bypass -File .\DeployCenter.ps1
Pour ouvrir l’interface dans une fenêtre redimensionnable, notamment pour le diagnostic :
powershell.exe -ExecutionPolicy Bypass -File .\DeployCenter.ps1 -Windowed
Pour demander les copies locales tout en conservant le choix interactif du disque, de l’image et des profils :
powershell.exe -ExecutionPolicy Bypass -File .\DeployCenter.ps1 -CopyLocally Sources,Drivers
UltraVNC est désactivé par défaut. L’option -Vnc le démarre au lancement ; dans ce cas, DeployCenter désactive le pare-feu WinPE afin de permettre la connexion VNC. Utilisez cette option uniquement sur un réseau de déploiement maîtrisé : la désactivation concerne le pare-feu WinPE dans son ensemble.
Pour utiliser -Vnc, décompressez tools/uvnc.zip dans le dossier parent de DeployCenter, de façon à obtenir le dossier uvnc au même niveau que DeployCenter :
<dossier parent>/
├── DeployCenter/
└── uvnc/
La configuration fournie chiffre la connexion VNC avec le plugin SecureVNC (UseDSMPlugin=1). Le client UltraVNC doit donc lui aussi activer ce plugin et utiliser SecureVNCPlugin64.dsm. Pour se connecter sans chiffrement, désactivez le plugin côté client et mettez UseDSMPlugin=0 dans uvnc/ultravnc.ini avant le lancement de DeployCenter.
Déploiement interactif
- Vérifiez les informations matérielles et sélectionnez le disque physique de destination.
- Cliquez sur Choisir… pour ouvrir Sources Windows. Les chemins à analyser sont séparés par des points-virgules ; Rechercher actualise les résultats. La liste peut être filtrée, et un double-clic sur une image permet également de choisir une édition.
- Sélectionnez l’édition Windows voulue. DeployCenter recherche alors, si disponible, un pack de pilotes correspondant au matériel et à cette édition.
- Choisissez un profil de partitionnement. Le profil par défaut réserve EFI, MSR et WinRE avant C:, qui reçoit l’espace restant. Le profil C:/D: demande la taille de C: et attribue le reste à D:.
- Choisissez un profil de première ouverture. Use OOBE laisse Windows gérer l’expérience de première ouverture sans générer de fichier Unattend ni demander de nom d’hôte. Le profil OEM installation configure le nom d’hôte et un compte local à partir de
DeployCenter.ini. - Cliquez sur Installer, relisez les informations de confirmation et confirmez uniquement si le disque choisi peut être effacé.
- Suivez les étapes dans la fenêtre de progression. Après réussite, vérifiez le résultat et le rappel éventuel concernant la taille de WinRE avant de valider le redémarrage.
Après réussite, les durées de chaque étape restent visibles jusqu’à la validation de la fenêtre de fin :
L’installation nécessite une image UEFI/GPT compatible et contenant Windows\System32\Recovery\winre.wim. Le moteur actuel ne propose pas de profil MBR/BIOS. Un manque de place empêchant la copie de winre.wim fait échouer le déploiement ; le non-respect des recommandations Microsoft de taille ou d’espace libre WinRE déclenche un avertissement. En présence de cet avertissement, le redémarrage automatique n’est pas présélectionné.
Sources Windows
Dans DeployCenter.ini, la section [Sources] accepte plusieurs racines séparées par des points-virgules. %DEPLOY_VOLUME% désigne le lecteur qui héberge DeployCenter :
[Sources]
Paths=%DEPLOY_VOLUME%;Z:\
DeployCenter recherche les fichiers ISO, WIM et ESD ainsi que les dossiers de sources extraits. Pour les ISO, le fichier est monté en lecture seule pendant l’analyse et le déploiement, puis démonté lorsque l’opération se termine ou est annulée.
Par défaut, DISM travaille directement depuis les chemins source. Le paramètre -CopyLocally permet de demander une copie Robocopy vers le disque Windows avant le traitement, en mode interactif comme automatisé : Sources pour l’image, Drivers pour le pack de pilotes, ou les deux. Cela nécessite suffisamment d’espace libre sur la partition Windows. Le paramètre absent n’effectue pas ces copies. La copie de winre.wim vers la partition de récupération reste nécessaire dans tous les cas.
Exemple d’écran de fin lorsque les copies locales ont été demandées :
Pilotes
Par défaut, la racine des packs est Drivers au même niveau que DeployCenter. Elle peut être redéfinie par [Drivers] RootPath dans le fichier INI. Les chemins relatifs sont résolus depuis le dossier DeployCenter.
Organisez les packs de cette manière :
Drivers/
└── Lenovo/
└── <préfixe du modèle ou SKU>/
└── Windows 11/
├── ...
└── pilote.inf
Les constructeurs reconnus sont Lenovo, Dell, HP et Microsoft. Les dossiers de version reconnus incluent Windows 10, Windows 11 et Windows Server <année>. Les fichiers INF peuvent se trouver dans des sous-dossiers ; DISM les ajoute récursivement à l’image Windows hors ligne. L’écran principal affiche le chemin recherché et indique si un pack correspondant a été trouvé.
Configuration de DeployCenter.ini
DeployCenter.ini.example décrit toutes les options et leurs valeurs par défaut. Les principales sections sont :
[General] Theme: thème chargé depuisThemes/<nom>.psd1(Light par défaut).[Sources] Paths: racines de recherche séparées par des points-virgules.[Partitioning] WinRESizeMB: taille réservée à WinRE en Mo (1024 Mo par défaut).[Drivers] RootPath: racine personnalisée des pilotes, vide pour utiliser le dossierDriversvoisin ; les clés URL sont des liens de référence constructeur.[Unattend]: compte local, mot de passe encodé, informations d’assistance et fond d’écran.[UltraVNC] Password: mot de passe de test facultatif ; vide, un mot de passe aléatoire est généré.
Le mot de passe d’un compte local Unattend se prépare avec :
powershell.exe -ExecutionPolicy Bypass -File .\DeployCenter.ps1 -EncodeUnattendPassword
Saisissez le mot de passe à l’invite masquée, puis placez la valeur produite dans [Unattend] AdminPasswordBase64. Cette valeur Base64 est réversible et ne constitue pas un chiffrement ; protégez DeployCenter.ini en conséquence. Ne confondez pas ce réglage avec [UltraVNC] Password, qui est une option de test distincte.
Les clés SupportProvider, SupportURL et SupportAppURL sont facultatives. SupportURL correspond à un site Web d’assistance ; SupportAppURL correspond au protocole d’une application d’assistance. WallpaperPath accepte un chemin .png, .jpg ou .bmp, absolu ou relatif au dossier DeployCenter ; vide, il laisse le fond Windows inchangé. Ces personnalisations sont appliquées avec un profil Unattend, pas avec Use OOBE.
Le profil Unattend OEMInstallation demande à Windows de ne pas activer le chiffrement automatique de l’appareil via BitLocker (PreventDeviceEncryption=true). Il désactive aussi l’hibernation et la veille automatique lorsque le PC est sur secteur ; le comportement sur batterie reste inchangé. La désactivation de l’hibernation désactive également le démarrage rapide. Ces options ne s’appliquent pas au choix Avec OOBE, qui conserve le comportement Windows par défaut. Une stratégie ou une action manuelle peut toujours activer ultérieurement le chiffrement BitLocker.
Déploiement automatisé
-NonInteractive lance le déploiement sans demander les choix de la première page. Tous les paramètres requis doivent être fournis et -ConfirmDiskErase est obligatoire. L’application affiche toujours la fenêtre de progression.
Exemple pour Windows 11 sur le disque 0, avec le profil C:/D: et le profil Unattend OEM :
powershell.exe -ExecutionPolicy Bypass -File .\DeployCenter.ps1 `
-NonInteractive -DiskNumber 0 `
-ImagePath 'Y:\Windows11.iso' -EditionIndex 6 `
-PartitionProfileId 'UEFI-GPT-WinRE-C-D' -CSizeGB 80 `
-UnattendProfileId 'OEMInstallation' -HostName 'POSTE-001' `
-ConfirmDiskErase -RestartWhenComplete `
-CopyLocally Sources,Drivers
Paramètres requis :
-DiskNumber: numéro du disque physique à effacer.-ImagePath: chemin d’un ISO, WIM, ESD ou d’un dossier de sources Windows.-EditionIndex: index de l’édition dans l’image.-PartitionProfileId: ID d’un fichier PSD1 dansPartitioning/Profiles.-UnattendProfileId: ID d’un profil dansUnattend/Profiles, ouOOBEpour ne pas appliquer d’Unattend.-ConfirmDiskErase: confirmation explicite de l’effacement du disque.
Paramètres conditionnels et facultatifs :
-HostName: requis lorsqu’un profil Unattend configure le nom de machine ; le nom doit respecter la limite NetBIOS de 15 caractères.-CSizeGB: requis par un profil qui demande la taille de C: ; le profil C:/D: attribue le reste à D:.-RestartWhenComplete: demande le redémarrage après réussite ; les avertissements de capacité WinRE annulent cette demande.-CopyLocally Sources,Drivers: copie l’image et les pilotes localement. Les valeurs possibles sontSourcesetDrivers, individuellement ou ensemble. Sans ce paramètre, DISM utilise directement les chemins source.
-CopyLocally peut être utilisé seul avec l’interface interactive ou combiné au mode -NonInteractive. Les autres paramètres de déploiement en ligne de commande requièrent -NonInteractive. Pour laisser Windows gérer la première ouverture, utilisez -UnattendProfileId OOBE et omettez -HostName. Le processus retourne 0 en cas de réussite et 1 si la préparation ou le déploiement échoue. Après une tentative d’installation, le journal est également copié à la racine de C:\.
Journaux et dépannage
Le bouton Journal ouvre le journal de session. Le fichier est créé dans %TEMP%\DeployCenter avec l’adresse IPv4 détectée et l’horodatage ; le dépôt DeployCenter peut donc rester en lecture seule. Après une tentative de déploiement, une copie du journal est placée à la racine de C:\ pour rester accessible même si le partage réseau n’est plus disponible. Le contenu de %TEMP% est supprimé au redémarrage de WinPE.
En cas d’échec :
- Relevez le message final et l’étape en échec dans la fenêtre de progression.
- Consultez le journal DeployCenter et, si nécessaire, les journaux système DISM/Windows Setup sur la machine cible.
- Vérifiez l’accès réseau aux sources, l’index d’édition, l’espace du disque cible et la présence des fichiers INF attendus.
- Après un échec de partitionnement, les lettres et partitions sont conservées autant que possible pour faciliter le diagnostic. Ne relancez pas l’installation avant d’avoir vérifié le disque sélectionné et son état.
Les messages de DeployCenter suivent la langue de WinPE. Les sorties DISM, DiskPart et des autres outils Windows restent dans la langue de ces outils.
Modules et personnalisation
DeployCenter.ps1: point d’entrée, initialisation et orchestration de l’interface.Modules/UI.psm1: fenêtres, contrôles et workflows d’interface.Modules/Deployment.psm1: partitionnement et application/configuration de Windows.Modules/WindowsSources.psm1: détection des sources, montage ISO et lecture des éditions.Modules/Partitioning.psm1etPartitioning/Profiles/*.psd1: lecture et validation des profils de partitionnement.Modules/DriverManagement.psm1: recherche des packs selon le matériel et l’édition Windows.Modules/Unattend.psm1,Unattend/Profiles/*.psd1etUnattend/Templates/*.xml: profils et génération du fichier de réponses.Modules/Configuration.psm1: lecture deDeployCenter.ini.Modules/Logging.psm1: journalisation et copie finale du journal.Modules/Localization.psm1etLocales/*.psd1: langue de l’interface et des messages DeployCenter.Modules/ThemeManager.psm1etThemes/*.psd1: palettes de l’interface.
Les profils PSD1 sont des données de configuration ; gardez leur structure et leurs identifiants cohérents. Les fichiers PowerShell et profils utilisés par Windows PowerShell 5.1 doivent rester encodés en UTF-8 avec BOM pour préserver correctement les caractères accentués.






