Como último recurso, tente usar uma das outras ferramentas de automação além do PsExec para lidar com os pop-ups. Como AutoIt.
Eu diria que este terá que ser o caminho a seguir para você, já que não há um padrão que cada software deve aderir.
Eu uso o PsExec para implantar arquivos .exe pequenos em minhas estações de trabalho. Às vezes, o .exe, por algum motivo, é incompatível com o sistema e abre uma janela pop-up com um erro ou alguma outra mensagem.
Existe alguma maneira de saber quando o executável está 'preso', exigindo interação do usuário? Do meu lado eu só tenho psexec rodando e esperando o .exe retornar (o que nunca retornará porque o popup está preso lá).
Como eu executo o PsExec programaticamente e automatizo todas as execuções, quando essa coisa do Popup acontece, eu me vejo com centenas de processos psexec presos lá e não tenho nenhum resultado de volta deles.
Qual é a melhor maneira de lidar com esse tipo de problema?
Obrigado.
Como último recurso, tente usar uma das outras ferramentas de automação além do PsExec para lidar com os pop-ups. Como AutoIt.
Eu diria que este terá que ser o caminho a seguir para você, já que não há um padrão que cada software deve aderir.
psexec tem uma opção -i que deve funcionar.
-i Executa o programa para interagir com a área de trabalho do sessão especificada no sistema remoto. Se não houver sessão.
Além disso, você pode usar algum tipo de script pslist.exe para monitorar o processo gerado em seu sistema e ver quanto tempo ele está lá. Se msiexec estiver pendurado por 5 minutos, isso provavelmente significa que ele está suspenso.
A melhor maneira de lidar com esse tipo de situação é testando antes de tentar aplicar a automação.
Uma maneira fácil, embora brutal, de lidar com os processos travados é executar um lote separado usando pslist e pskill em um momento posterior, quando o processamento processado que seria concluído normalmente o teria feito. Use o pslist para testar o psexec ainda em execução na máquina remota e o pskill para finalizar qualquer um que for encontrado.