Aller au contenu

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 InitializeNetwork manuellement 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é RunOnce a bien été créée (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce) et pointe vers Start-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.MaxReboots dans PSWinDeploy.psd1 n'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 PSWinDeployAPI et 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 ».