[PowerShell]-Arrêt propre d'un programme

Résolu
Bonjour,

je cherche à terminer un programme de façon normale (simulation d'un appui sur la croix windows ou Fichier/Fermer/Quitter du menu) avec PowerShell.

Jusqu'à présent, je n'ai trouvé que stop-process. Mais le souci c'est qu'il effectue un kill bête et méchant du processus. Des programmes comme Firefox ne s'en remettent pas toujours (message au redémarrage concernant un éventuel crash).

C'est pourquoi je cherche la manoeuvre qui me permettra un arrêt propre.

J'ai également essayé 'taskkill' en ligne de commande, mais il fait le même genre de dégâts...

Une commande, même en vbscript, me rendrait heureux...

Merci d'avance.

--
A+ blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

3 réponses

  1. Modérateur
    J'ai trouvé (vive google in english) :

    get-process nom_du_programme | %{ $_.closemainwindow() }

    En fait, on demande la fermeture de la fenêtre principale. Il suffisait d'y penser !
    6
    1. Salut

      C'est du VB ?

      @+ et merci d'avoir partagé ta trouvaille ;)
      0
    2. Modérateur
      Non, c'est du powershell...
      0
    3. AH ?

      Je vais me documenter là dessus

      Merci ;)
      0
  2. Salut :)

    Oui, le taskkill (comme le processclose en autoit) "kill" le processus...

    Toi, tu veux en gros, simuler le clic gauche sur la croix...

    Si je te trouve cela en autoit, est-ce que cela te conviendrait ?

    Car, je sais simuler l'appui de alt+F4 en autoit : Ce n'est pas ce que tu cherches ?

    Sinon, le vbscript, je ne connais pas ;)

    Bref, bon courage à toi :)

    ++
    0
    1. Modérateur
      Je cherche quelque chose en standard sur windows.
      Je ne peux pas installer de programmes externes, sinon mon problème aurait déjà été réglé !
      0
    2. Je vais voir si je trouve rien en ligne de commande

      @+
      0
  3. Salut

    Je ne sais pas si cela peut t'aider, mais bon, qui ne tente rien n'a rien ;)

    https://www.generation-nt.com/reponses/fermer-application-proprement-entraide-2484831.html

    EDIT : Même en autoit, le fait de faire processclose, FIrefox dit crash ^^

    idem en invite de commande...

    ++
    0
    1. Les syntaxes ci-dessous fonctionnent:

      Process:
      get-process -name chrome* -computername 127.0.0.1 | stop-process
      get-process chrome* | start-process

      Services:
      get-service -name BITS -computername 127.0.0.1 | stop-service
      get-service chrome* | start-service
      0