PSKill não é executado a partir do VbScript

1

Temos um site em nosso servidor IIS6 local do Windows 2003 que ocasionalmente é bloqueado e gostaríamos que um VbScript matasse o processo. Está localizado na pasta system32. Estou executando esses testes na máquina local.

Para simplificar, meu arquivo VbScript simplesmente possui linhas como estas:

  Set WshShell = WScript.CreateObject("WScript.Shell")
  WScript.Echo "PSKill.exe " & W3WP.ProcessId
  WshShell.Run "PSKill.exe " & W3WP.ProcessId
  WScript.Echo "Killed Process"

Obtida anteriormente no script, W3WP.ProcessId contém o ID do processo correto. O script é enviado para a tela: PSKill.exe 6884 Mas a linha que deve executar o comando não faz nada.

Se eu digitar o comando, ele funcionará bem. Por que o PsKill funciona bem quando eu o digito, mas não pelo VbScript?

    
por David 01.06.2012 / 23:06

2 respostas

0

Tente trocar a linha. Isso fará com que ele mostre o processo em sua própria janela e espere que ele termine.

WshShell.Run "PSKill.exe " & W3WP.ProcessId, 1, true

Claro que se isso for muito rápido, você pode ter mais sorte ao enviar um arquivo de log

WshShell.Run "PSKill.exe " & W3WP.ProcessId & ">> log.txt"

Parece que deveria funcionar para mim. O VBScript está sendo executado em uma conta de usuário com permissões para matar a tarefa?

    
por 02.06.2012 / 02:59
1

Tente executá-lo no script com '-accepteula' como um argumento de linha de comando. Essas ferramentas aparecem no EULA em sua primeira execução e, se não houver ninguém para clicar, elas tendem a ser interrompidas.

    
por 02.06.2012 / 06:15