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

Résolu
blux Messages postés 27121 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 voir également:

3 réponses

blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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
Utilisateur anonyme
 
Salut

C'est du VB ?


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


Je vais me documenter là dessus


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


@+
0
Utilisateur anonyme
 
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
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