fix: la jointure Windows n'executait jamais le script PowerShell

Le script etait envoye sur stdin de `powershell -Command -`, qui analyse
l'entree ligne par ligne. Le `}` fermant le try/catch n'etait suivi d'aucun
saut de ligne : le parseur gardait l'instruction incomplete en attente et la
jetait a la fermeture de stdin. PowerShell rendait la main avec le code 0
sans avoir appele Add-Computer, et l'utilisateur ne voyait qu'un « echec de
la jointure (code retour 0) » sans explication.

- Transmission du script d'un seul bloc via `-EncodedCommand` (base64
  UTF-16LE), ce qui supprime toute analyse ligne par ligne et propage
  correctement les codes de sortie. Le mot de passe reste hors de la ligne
  de commande : il ne transite que par l'environnement du sous-processus.
- Report de la sortie brute de PowerShell quand aucun marqueur n'est trouve,
  pour qu'un echec inattendu reste diagnosticable.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-08 23:09:54 +02:00
co-authored by Claude Opus 5
parent bc080fd76a
commit 3d4d6de0f8
2 changed files with 51 additions and 9 deletions
+15
View File
@@ -1,5 +1,20 @@
# Changelog
## [Non publié]
### Fixed
- La jointure de domaine sous Windows échouait sans aucun message, avec un code
retour 0. Le script PowerShell était transmis sur l'entrée standard de
`powershell -Command -`, qui analyse stdin ligne par ligne : le bloc
`try`/`catch` final, dépourvu de saut de ligne terminal, restait en attente
dans le parseur et n'était jamais exécuté. PowerShell rendait donc la main
sans avoir tenté la jointure. Le script est désormais transmis d'un bloc via
`-EncodedCommand`.
- En l'absence de marqueur de succès comme d'échec, le message d'erreur se
réduisait à « code retour 0 », impossible à diagnostiquer. La sortie brute de
PowerShell est maintenant reportée à l'utilisateur (le mot de passe ne
transitant que par l'environnement, il n'y apparaît jamais).
## [0.1.3] - 2026-09-08
### Fixed