J'ai ce script simple:Comment continuer script Powershell après un crash exécutable et bloquer
$files = dir .\configs | ? { !$_.PSIsContainer }
foreach($file in $files)
{
try
{
.\MyApp.exe -ErrorAction Stop $file
}
catch
{
write-host "!!!!!!!!!!!!error!!!!!!!!!!!!!!"
continue
}
}
Le problème est que lorsque
.\MyApp.exe -ErrorAction Stop $file
accident, les fenêtres boîte de message sur plantage de l'application apparaissent et mon bloc de script, catch n'est pas atteint et le seul moyen de continuer est de cliquer sur le bouton Storno dans la boîte de message.
Alors, comment empêcher le blocage?
Je ne pense pas que try/catch était destiné à supprimer les dialogues dr watson causés par un processus externe qui plante. Vous pouvez l'exécuter sur un travail d'arrière-plan et, s'il n'a pas terminé dans un délai raisonnable, supposer qu'il s'est écrasé et tuer le processus et le travail d'arrière-plan. –