J'essaye d'écrire des wrappers keytool dans Powershell pour gérer les keystores. La question que je suis confronté, est que Powershell, lors de l'exécution d'une commande semblable à:Java keytool.exe wrapper powershell ne supprime pas les erreurs standard
$cmd = "& " + $keytoolexe + " -import " + $CAswitch +
" -alias " + $alias +
" -keystore " + $keystore + " -storepass " + $storepass +
" -file " + $file +
" -noprompt *>&1"
$result = Invoke-Expression -Command $cmd
Comme vous pouvez le voir, je suis redirigeant tout à ouptut standard, comme je veux stocker que dans une variable pour évaluer la résultat de la commande.
Le problème est que lorsque keytool.exe renvoie un message réussi, powershell le lit en quelque sorte comme une erreur.
J'ai essayé d'exécuter le code de bloc, lui-même, et je n'ai pas eu, erreur. Cependant, après avoir mis ce code dans une fonction et que j'ai appelé la fonction avec le paramètre -ErrorAction stop, j'ai eu cette erreur. Donc, d'une certaine manière, ErrorAction Stop semble faire disparaître la redirection standard de ouptut.