1 votes

PSKill ne s'exécute pas à partir de VbScript

Nous avons un site sur notre serveur local IIS6 Windows 2003 qui se bloque occasionnellement, et nous voudrions un VbScript pour tuer le processus. Il est situé dans le dossier system32. J'exécute ces tests sur la machine locale.

Pour simplifier, mon fichier VbScript comporte simplement des lignes telles que celles-ci :

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

Obtenu plus tôt dans le script, W3WP.ProcessId contient l'ID de processus correct. Le script sort à l'écran : PSKill.exe 6884 Mais la ligne qui est censée exécuter la commande ne fait rien.

Si je tape la commande, cela fonctionne bien. Pourquoi PsKill fonctionne-t-il bien lorsque je le tape, mais pas à partir de VbScript ?

1voto

devicenull Points 5542

Essayez de l'exécuter dans le script avec '-accepteula' comme argument de ligne de commande. Ces outils affichent le CLUF lors de leur première exécution, et s'il n'y a personne pour cliquer sur accepter, ils ont tendance à se bloquer.

0voto

DangerfieldUK Points 11

Essayez d'intervertir la ligne. Cela lui permettra d'afficher le processus dans sa propre fenêtre et d'attendre qu'il se termine.

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

Bien sûr, si cela va trop vite, vous aurez peut-être plus de chance si vous l'enregistrez dans un fichier journal.

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

Il me semble que ça devrait fonctionner. Le VBScript s'exécute-t-il sous un compte d'utilisateur ayant les droits de tuer la tâche ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X