OVH Cloud OVH Cloud

recuperation num process

26 réponses
Avatar
gil
bonjour
Dans un script, comment pourrais je recuperer le numero de process de
la derniere fenetre internet-explorer ouverte ?
merci

10 réponses

1 2 3
Avatar
~Jean-Marc~ [MVP]
Salutations *gil* !
Dans <news:
tu nous disais :
bonjour
Dans un script, comment pourrais je recuperer le numero de process de
la derniere fenetre internet-explorer ouverte ?
merci


Attention, tu pars sur une fausse base :
Il peut y avoir plusieurs fenêtres ouvertes avec le même process...

Sinon, pour répondre à ta question :

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!.rootcimv2")

Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'iexplore.exe'")

For Each objProcess in colProcessList
Tmp = objProcess.CreationDate
If TmpChk < Tmp Then
TmpChk = Tmp
set objIELast = objProcess
end if
Next

MsgBox "N° de process du dernier I.E. ouvert : " & objIELast.ProcessID

@+

--
~Jean-Marc~ MSAE & MVP Windows XP Fr
M'écrire : http://msmvps.com/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/

Avatar
Do Re Mi chel La Si Do
Bonjour !


Merci de me donner l'occasion de montrer encore l'incroyable supériorité du
Batch ! (petit troll pour Fred...)



Voilà un script qui donne le PID de toutes les instances de "iexplore.exe"
(Internet-Explorer) en cours :

@echo off
tasklist | find /I "iexplore.exe" >%TEMP%tmp.txt
for /F "tokens=1,2" %%i in (%TEMP%tmp.txt) do (echo %%j)

Normalement, c'est dans l'ordre des lancements (s'il y a plusieurs
instances), car il s'agit d'une file circulaire. Donc la dernière fenêtre
IE, c'est le dernier PID affiché.


On peut avoir plus d'informations, en jouant sur les paramètres. Par
exemple, pour connaître, en plus, la taille mémoire, on remplace la dernière
ligne par :

for /F "tokens=1,2,3,4" %%i in (%TEMP%tmp.txt) do (echo %%j %%l)



Il est aussi possible d'enchaîner des traitements. Par exemple, pour tuer
tous les process Internet-Explorer, remplacer la dernière ligne par :
for /F "tokens=1,2" %%i in (%TEMP%tmp.txt) do (taskkill /PID %%j)




@-salutations

Michel Claveau
Avatar
Do Re Mi chel La Si Do
Re


Je m'excuse d'avoir donné un script aussi long.
En effet, il existe un moyen d'obtenir la même chose, beaucoup plus
simplement :

@echo off
for /F "usebackq tokens=1,2" %%i in (`tasklist /FI "IMAGENAME eq
iexplore.exe" /NH`) do (echo %%j)

Voilà, il suffisait de combiner "usebackq" et "tokens", et d'utiliser les
options de "Tasklist".


@-salutations

Michel Claveau
Avatar
Jacques Barathon [MS]
Hé hé! J'en profite pour faire un peu de pub pour MSH, le nouvel
interpréteur en ligne de commandes de Microsoft. La même chose (et même bien
plus) peut être fait ainsi:

(gps iexplore | sort -desc starttime)[0] | ft starttime, id,
mainwindowtitle -a

En clair:

"gps iexplore" : liste les process dont le nom contient "iexplore"
" | sort -desc starttime" : le résultat est trié par date et heure de
démarrage (tri descendant pour afficher les plus récents en tête)
"(...)[0]" : on ne prend que le premier process retrouvé (donc le plus
récent pour un tri descendant)
" | ft starttime, id, mainwindowtitle -a" : pour ce premier process, on
affiche la date de démarrage, l'ID et le titre de sa fenêtre principale
("-a" pour que l'affichage des champs soit automatiquement ajusté à la
taille des infos retournées)

Pour ne retourner que l'ID, on aurait pu faire beaucoup plus simplement:

(gps iexplore | sort -desc starttime)[0].id

Et si on veut "tuer" tous les process iexplore, on fait:

gps iexplore | foreach {$_.kill()}

Et voilà :-)

Tout ça ne montre que 5% des possibilités de MSH. MSH est encore en
développement bêta mais il s'agit déjà d'un outil d'administration très
performant. Pour ceux qui n'auraient pas encore testé, regardez les webcasts
de Jeffrey Snover (architecte de MSH), à la fin du premier webcast il donne
les infos pour pouvoir s'inscrire au programme de test:
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID32277850&Culture=en-US
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID32277852&Culture=en-US

Suivez le lien "Register on the web". Une fois enregistré(e), cliquez sur
"View" puis sur "View recording".

Jacques

Jacques

"Do Re Mi chel La Si Do" wrote in message
news:O%23b2%
Bonjour !


Merci de me donner l'occasion de montrer encore l'incroyable supériorité
du Batch ! (petit troll pour Fred...)



Voilà un script qui donne le PID de toutes les instances de "iexplore.exe"
(Internet-Explorer) en cours :

@echo off
tasklist | find /I "iexplore.exe" >%TEMP%tmp.txt
for /F "tokens=1,2" %%i in (%TEMP%tmp.txt) do (echo %%j)

Normalement, c'est dans l'ordre des lancements (s'il y a plusieurs
instances), car il s'agit d'une file circulaire. Donc la dernière fenêtre
IE, c'est le dernier PID affiché.


On peut avoir plus d'informations, en jouant sur les paramètres. Par
exemple, pour connaître, en plus, la taille mémoire, on remplace la
dernière ligne par :

for /F "tokens=1,2,3,4" %%i in (%TEMP%tmp.txt) do (echo %%j %%l)



Il est aussi possible d'enchaîner des traitements. Par exemple, pour tuer
tous les process Internet-Explorer, remplacer la dernière ligne par :
for /F "tokens=1,2" %%i in (%TEMP%tmp.txt) do (taskkill /PID %%j)




@-salutations

Michel Claveau





Avatar
DJ
Do Re Mi chel La Si Do wrote:
Bonjour !


Merci de me donner l'occasion de montrer encore l'incroyable
supériorité du Batch ! (petit troll pour Fred...)
ZIP

@echo off
tasklist | find /I "iexplore.exe" >%TEMP%tmp.txt
for /F "tokens=1,2" %%i in (%TEMP%tmp.txt) do (echo %%j)
ZIP


Michel Claveau


Bonjour Batchman,
je voudrais pas etre pénible mais d ou il sort ce TASKLIST ???
parceque moi j'ai pas ca dans windows 2000.

Alors si tu t aides d un prog externe ca ne ferait que demontrer les limites
du batch ... et pan ! dans le troll :-)))

DJ

Avatar
Jean
Hé hé! J'en profite pour faire un peu de pub pour MSH


Ca me démengeait aussi :-)

Tout ça ne montre que 5% des possibilités de MSH.
MSH est encore en développement bêta mais il s'agit
déjà d'un outil d'administration très performant.


... et déjà très très fonctionnel ... la fin du batch et du scripting
approche :-)


--
Jean - JMST
Belgium

Avatar
Do Re Mi chel La Si Do
Bonjour !

Je pense plutôt du bien de Monad (MSH ?). Cependant, il y a des trucs qui me
gênent :
- ce n'est pas encore bien implanté chez les clients, alors, pour
l'utiliser...
- je n'irai pas voir les liens indiqués, car leur suffixe me gène :
"...Culture=en-US" ; j'ai bien peur que le français utilisé ne soit pas
très correct. Or, moi, l'anglais, je ne le parle qu'en fin de (gros)
apéritif.

Par hasard, auriez-vous des adresses de sites en français, sur Monad ?
(techniques, hein ! Pas de discours commercial)

Merci d'avance

Michel Claveau
Avatar
Do Re Mi chel La Si Do
Re

Tasklist existait déjà dans windows-2000 ; seules quelques options ont été
rajoutées dans XP (comme -SVC)
Normalement, c'est dans %WINDOWS%System32 (donc, pour W-2000, dans
WINNTSystem32)

Mais je ne peux pas vérifier, car je suis au bureau, et les vieux postes
sous W-2000 sont archivés dans le garage. En sortir un pour ça...

Peut-être pourrais-tu me confirmer qu'il existe encore des utilisateurs
fossiles, qui travaillent encore avec windows-2000. Ou alors, est-ce un
troll ? Et paf ! dans l'anti-troll !

MCI
Avatar
Do Re Mi chel La Si Do
Salut !


la fin du batch et du scripting approche




Au contraire, le temps du renouveau approche. Le principe du batch
(enchaînement de traitements) va être transcendé par Monad, qui va lui
apporter des possibilité de scripting complémentaire.


@-salutations

Michel Claveau



Avatar
Jacques Barathon [MS]
"Do Re Mi chel La Si Do" wrote in message
news:
Bonjour !

Je pense plutôt du bien de Monad (MSH ?). Cependant, il y a des trucs qui
me gênent :
- ce n'est pas encore bien implanté chez les clients, alors, pour
l'utiliser...


Le produit n'est qu'en Beta 1, normal qu'il ne soit pas bien implanté chez
les clients. L'équipe produit travaille encore aux façons dont il sera
distribué. Ce qui est sûr pour l'instant c'est qu'il sera livré avec la
prochaine version d'Exchange Server puisque toute l'administration
d'Exchange reposera sur le moteur Monad/MSH, mais d'autres "véhicules" sont
à l'étude. A l'origine il devait être livré en standard avec Windows Vista,
ce qui faciliterait grandement son adoption, mais ce choix a été remis en
question et est toujours débattu (à ma connaissance).

- je n'irai pas voir les liens indiqués, car leur suffixe me gène :
"...Culture=en-US" ; j'ai bien peur que le français utilisé ne soit pas
très correct. Or, moi, l'anglais, je ne le parle qu'en fin de (gros)
apéritif.


Je sais, c'est le problème des produits en cours de développement,
l'adaptation dans d'autres langues que l'anglais vient souvent très tard
dans le cycle de développement, d'autant plus quand il ne s'agit pas de
produits destinés au grand public. Cela dit, tu peux te contenter de
déchiffrer les diapos Powerpoint utilisées pendant le webcast, c'est
toujours plus facile de lire que de comprendre ce qui est dit. Et puis les
webcasts contiennent de nombreuses démos qui permettent de voir l'étendue
des fonctionnalités du produit. Et ça, je pense que ça parle même si on ne
comprend pas l'anglais...

Par hasard, auriez-vous des adresses de sites en français, sur Monad ?
(techniques, hein ! Pas de discours commercial)


Je n'ai encore vu aucun discours commercial sur Monad/MSH. Par contre,
malheureusement à l'heure actuelle l'essentiel du contenu que je connais est
en anglais, y compris les blogs de plus en plus nombreux qui lui sont
consacrés. Il y a quand même quelques pages en français, dénichables par ton
moteur de recherche préféré, dont le blog de Christophe Lauer (MS):
http://blogs.microsoft.fr/clauer/archive/2005/03/26/1031.aspx.

Jacques

1 2 3