PsExec - e se o exe que você executa remotamente exigir interação do usuário?

1

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.

    
por Luca Matteis 14.08.2010 / 14:00

4 respostas

2

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.

    
por 14.08.2010 / 21:40
2

PAExec tem uma opção de tempo limite ( -to ) que terminará o processo após o número especificado de segundos. Sugiro que mude de PSExec para PAExec .

    
por 24.09.2012 / 18:08
0

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.

    
por 14.08.2010 / 22:07
0

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.

    
por 15.08.2010 / 00:20