Temos vários servidores Windows 2003 nos quais executamos utilitários ao usar psexec . Recentemente, parou de funcionar em um deles. Para quem não conhece, veja como o processo funciona normalmente:
Psexec:
\target\admin$
(geralmente C: \ WINDOWS) No servidor afetado, verifiquei que tudo acontece, exceto algo na etapa 3. Não importa qual programa eu peço psexec para executar (cmd, ping, ipconfig, etc.), ele dá a mensagem " comando saiu em target com o código de erro 128. "
Isso já foi visto algumas vezes nos fóruns da sysinternals:
Alguns afirmam que o erro é retornado pelo comando chamado, mas acho que isso é apenas um artefato do jeito que ele está tentando obter o código de saída. net helpmsg 128
dá "Não há processos filhos para esperar", então isso me faz pensar que está falhando em esperar pela criança porque não há uma.
Verifiquei que o serviço está, na verdade, iniciando corretamente, que as permissões para o programa solicitado são idênticas entre os servidores em funcionamento e o não-funcional e que o psexec funciona se estiver sendo executado do servidor afetado como local (por exemplo com psexec cmd
em vez de psexec \target cmd
).
A única solução confirmada que eu vi para isso é reiniciar a máquina. Embora este seja um servidor de produção, reinicializar durante o dia é uma opção, já que sua carga de trabalho principal é o processamento em estilo de lote à noite. No entanto, hesito em reiniciar, pois gostaria de determinar a causa do problema do psexec, e neste momento o processo psexec está sendo usado para fins de desenvolvimento, portanto não há impacto na produção para evitar a reinicialização.