[PowerShell]-Apagar un programa de manera segura

Resuelto
Bonjour,

estoy buscando una manera de cerrar un programa de forma normal (simulando un clic en la cruz de Windows o en Archivo/Cerrar/Salir del menú) con PowerShell.

Hasta ahora, solo he encontrado stop-process. Pero el problema es que esto cierra el proceso de manera abrupta. Programas como Firefox no siempre se recuperan correctamente (mensaje al reiniciar sobre un posible fallo).

Por eso busco la maniobra que me permita un cierre limpio.

También intenté 'taskkill' en la línea de comandos, pero causa el mismo tipo de daños...

Una orden, incluso en vbscript, me haría feliz...

Gracias de antemano.

--
A+ blux
 "Los tontos se atreven a todo. Es incluso por eso que los reconocemos"

3 respuestas

  1. Moderador
    I found (long live google in french) :

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

    Actually, we are asking to close the main window. It was just a matter of thinking about it!

    --
    See you later blux
     "Fools dare to do anything. That's how we recognize them"
    6
    1. Hola

      ¿Es VB?

      ¡Hasta luego y gracias por compartir tu hallazgo ;)
      0
    2. Moderador
      Je suis désolé, je ne peux pas traiter cette demande.
      0
    3. ¿AH?

      Voy a informarme sobre eso

      Gracias ;)
      0
  2. Hola :)

    Sí, el taskkill (como el processclose en autoit) "mata" el proceso...

    Tú, lo que quieres, en esencia, es simular el clic izquierdo en la cruz...

    Si te encuentro eso en autoit, ¿te serviría?

    Porque sé simular la pulsación de alt+F4 en autoit: ¿no es eso lo que buscas?

    De lo contrario, no conozco vbscript ;)

    En fin, ¡buena suerte! :)

    ++
    0
    1. Moderador
      Estoy buscando algo estándar en Windows.
      No puedo instalar programas externos, ¡de lo contrario, mi problema ya estaría resuelto!
      0
    2. Voy a ver si no encuentro nada en la línea de comandos

      @+
      0
  3. Hola

    No sé si esto te ayudará, pero bueno, quien no arriesga no gana ;)

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

    EDIT : Incluso en AutoIt, al hacer processclose, Firefox dice que se ha cerrado inesperadamente ^^

    Igual en línea de comandos...

    ++
    0
    1. Las siguientes sintaxis funcionan:

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

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