Dépannage¶
1. Pas de réseau dans WinPE¶
Symptôme : Start-Deploy.ps1 n'arrive pas à joindre \\SERVEUR\Deploy.
Vérifications :
- Confirmer que les bons drivers réseau ont été injectés dans l'image WinPE pour ce modèle de matériel (
Modules/Drivers/<modele>). - Lancer
wpeutil InitializeNetworkmanuellement depuis l'invite de commandes WinPE. - Vérifier que le partage et les permissions NTFS autorisent le compte utilisé par
New-SmbMapping.
2. Montages DISM orphelins¶
Symptôme : dism /Mount-Image échoue avec « déjà monté » ou le dossier de montage reste bloqué.
Correction :
dism /Cleanup-Wim
dism /Unmount-Image /MountDir:C:\mount /Discard
Si le dossier reste verrouillé, redémarrer la machine de build avant de réessayer.
3. La séquence ne reprend pas après un reboot¶
Symptôme : la machine redémarre mais la séquence ne reprend pas automatiquement.
Vérifications :
- Confirmer que la clé
RunOncea bien été créée (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce) et pointe versStart-Deploy.ps1 -Resume. - Vérifier que le fichier d'état suivant la progression n'a pas été supprimé et n'est pas sur un partage injoignable depuis Windows (pas seulement depuis WinPE).
- Vérifier que
WinPE.MaxRebootsdansPSWinDeploy.psd1n'a pas été dépassé — la protection anti-boucle arrête la séquence silencieusement une fois le seuil franchi.
4. L'API Pode ne démarre pas / est injoignable¶
Vérifications :
Get-Module Pode -ListAvailable— confirmer qu'il est installé pour le compte exécutant le service.- Règle de pare-feu pour le port configuré (par défaut
8080). - Si lancé via NSSM, vérifier
nssm status PSWinDeployAPIet les fichiers de log stdout/stderr du service. - Tester en local d'abord :
curl http://localhost:8080/api/health.
5. Coffre DPAPI illisible sur une autre machine¶
Symptôme : la résolution d'identifiant retombe silencieusement sur un prompt interactif sur une machine différente.
Cause : DPAPI lie le chiffrement au compte Windows + à la machine qui a créé le coffre. Voir Coffre de secrets.
Correction : recréer le coffre en utilisant AES avec un mot de passe partagé plutôt que DPAPI.
6. Journaux¶
Les logs de déploiement sont écrits dans \\SERVEUR\Logs, un fichier par runtimeId. L'API expose aussi la fin du log d'un déploiement en cours via GET /api/deploy/logs/:id, et l'interface web le diffuse en direct sur la page « Déploiement en cours ».