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

Résolu
blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   -  
 Luc -
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. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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. little boy62
       
      Salut

      C'est du VB ?


      @+ et merci d'avoir partagé ta trouvaille ;)
      0
    2. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Non, c'est du powershell...
      0
    3. little boy62
       
      AH ?


      Je vais me documenter là dessus


      Merci ;)
      0
  2. little boy62
     
    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. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      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. little boy62
       
      Je vais voir si je trouve rien en ligne de commande


      @+
      0
  3. little boy62
     
    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. Luc
       
      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