J'ai une application qui est lancer par un exe, cet exe=20
lance utilise java.exe
Je dois monitorer le java.exe.
Aucun soucis si je le lance une seule fois, je sais=20
r=E9cup=E9rer son PID, mais si je le lance 2 fois =E7a se=20
complique puisqu'il me trouve forc=E9ment le premier, hors=20
je souhaiterai qu'il identifie le dernier ouvert ou le=20
plus r=E9cent.
Y a t'il une solution dans le :
Set colProcesses1 =3D objWMIService.ExecQuery ("SELECT *=20
FROM Win32_Process WHERE Name =3D 'java.exe'")
de sp=E9cifier comme dans SQL LAST ?
J'essaie de mon c=F4t=E9 et si j'ai des infos je les d=E9pose.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stéphane [MS]
Bonjour,
Cf. Script Center sur : http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx
Par exemple : ====================================== strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2") Set colMonitoredProcesses = objWMIService. _ ExecNotificationQuery("select * from __instancedeletionevent " _ & "within 1 where TargetInstance isa 'Win32_Process'") i = 0
Do While i = 0 Set objLatestProcess = colMonitoredProcesses.NextEvent Wscript.Echo objLatestProcess.TargetInstance.Name Loop ======================================= Cdlt Stéphane
"Thierry" a écrit dans le message de news: 7e8801c526e8$bddef1a0$ Bonjour,
J'ai une application qui est lancer par un exe, cet exe lance utilise java.exe
Je dois monitorer le java.exe. Aucun soucis si je le lance une seule fois, je sais récupérer son PID, mais si je le lance 2 fois ça se complique puisqu'il me trouve forcément le premier, hors je souhaiterai qu'il identifie le dernier ouvert ou le plus récent. Y a t'il une solution dans le : Set colProcesses1 = objWMIService.ExecQuery ("SELECT * FROM Win32_Process WHERE Name = 'java.exe'") de spécifier comme dans SQL LAST ? J'essaie de mon côté et si j'ai des infos je les dépose.
Amicalement, Thierry
Bonjour,
Cf. Script Center sur :
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx
Par exemple :
====================================== strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
Set colMonitoredProcesses = objWMIService. _
ExecNotificationQuery("select * from __instancedeletionevent " _
& "within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
Wscript.Echo objLatestProcess.TargetInstance.Name
Loop
=======================================
Cdlt
Stéphane
"Thierry" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 7e8801c526e8$bddef1a0$a401280a@phx.gbl...
Bonjour,
J'ai une application qui est lancer par un exe, cet exe
lance utilise java.exe
Je dois monitorer le java.exe.
Aucun soucis si je le lance une seule fois, je sais
récupérer son PID, mais si je le lance 2 fois ça se
complique puisqu'il me trouve forcément le premier, hors
je souhaiterai qu'il identifie le dernier ouvert ou le
plus récent.
Y a t'il une solution dans le :
Set colProcesses1 = objWMIService.ExecQuery ("SELECT *
FROM Win32_Process WHERE Name = 'java.exe'")
de spécifier comme dans SQL LAST ?
J'essaie de mon côté et si j'ai des infos je les dépose.
Cf. Script Center sur : http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx
Par exemple : ====================================== strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2") Set colMonitoredProcesses = objWMIService. _ ExecNotificationQuery("select * from __instancedeletionevent " _ & "within 1 where TargetInstance isa 'Win32_Process'") i = 0
Do While i = 0 Set objLatestProcess = colMonitoredProcesses.NextEvent Wscript.Echo objLatestProcess.TargetInstance.Name Loop ======================================= Cdlt Stéphane
"Thierry" a écrit dans le message de news: 7e8801c526e8$bddef1a0$ Bonjour,
J'ai une application qui est lancer par un exe, cet exe lance utilise java.exe
Je dois monitorer le java.exe. Aucun soucis si je le lance une seule fois, je sais récupérer son PID, mais si je le lance 2 fois ça se complique puisqu'il me trouve forcément le premier, hors je souhaiterai qu'il identifie le dernier ouvert ou le plus récent. Y a t'il une solution dans le : Set colProcesses1 = objWMIService.ExecQuery ("SELECT * FROM Win32_Process WHERE Name = 'java.exe'") de spécifier comme dans SQL LAST ? J'essaie de mon côté et si j'ai des infos je les dépose.
Amicalement, Thierry
Thierry
Merci pour ta réponse, mais cela me donne l'info lors de la fermeture du dernier process en date.
Je me suis ma expliqué: J'ai un prog exe qui lorsqu'il se lance, demande un mot de passe puis lance ensuite java.exe pour son interface. Le prog exe continue de fonctionné, et je souhaite récupérer le PID de java.exe au cas ou j'en ai deux. Sachant qu'entre le lancement de java.exe après la saisie du password, il peut y avoir 3 à 5 secondes, donc si la personne lance autre chose, ben pas cool, donc j'essaie de monitorer uniquement java.exe.
Amicalement Thierry
-----Message d'origine----- Bonjour,
Cf. Script Center sur : http://www.microsoft.com/technet/scriptcenter/scripts/defa ult.mspx
Par exemple : ======================== =============== strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colMonitoredProcesses = objWMIService. _ ExecNotificationQuery("select * from __instancedeletionevent " _
& "within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0 Set objLatestProcess = colMonitoredProcesses.NextEvent Wscript.Echo objLatestProcess.TargetInstance.Name Loop ======================== ================
Cdlt Stéphane
"Thierry" a écrit dans le message de
news: 7e8801c526e8$bddef1a0$ Bonjour,
J'ai une application qui est lancer par un exe, cet exe lance utilise java.exe
Je dois monitorer le java.exe. Aucun soucis si je le lance une seule fois, je sais récupérer son PID, mais si je le lance 2 fois ça se complique puisqu'il me trouve forcément le premier, hors je souhaiterai qu'il identifie le dernier ouvert ou le plus récent. Y a t'il une solution dans le : Set colProcesses1 = objWMIService.ExecQuery ("SELECT * FROM Win32_Process WHERE Name = 'java.exe'") de spécifier comme dans SQL LAST ? J'essaie de mon côté et si j'ai des infos je les dépose.
Amicalement, Thierry
.
Merci pour ta réponse, mais cela me donne l'info lors de
la fermeture du dernier process en date.
Je me suis ma expliqué:
J'ai un prog exe qui lorsqu'il se lance, demande un mot de
passe puis lance ensuite java.exe pour son interface.
Le prog exe continue de fonctionné, et je souhaite
récupérer le PID de java.exe au cas ou j'en ai deux.
Sachant qu'entre le lancement de java.exe après la saisie
du password, il peut y avoir 3 à 5 secondes, donc si la
personne lance autre chose, ben pas cool, donc j'essaie de
monitorer uniquement java.exe.
Amicalement
Thierry
-----Message d'origine-----
Bonjour,
Cf. Script Center sur :
http://www.microsoft.com/technet/scriptcenter/scripts/defa
ult.mspx
Par exemple :
======================== ===============
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer
& "rootcimv2")
Set colMonitoredProcesses = objWMIService. _
ExecNotificationQuery("select * from
__instancedeletionevent " _
& "within 1 where TargetInstance
isa 'Win32_Process'")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
Wscript.Echo objLatestProcess.TargetInstance.Name
Loop
======================== ================
Cdlt
Stéphane
"Thierry" <anonymous@discussions.microsoft.com> a écrit
dans le message de
J'ai une application qui est lancer par un exe, cet exe
lance utilise java.exe
Je dois monitorer le java.exe.
Aucun soucis si je le lance une seule fois, je sais
récupérer son PID, mais si je le lance 2 fois ça se
complique puisqu'il me trouve forcément le premier, hors
je souhaiterai qu'il identifie le dernier ouvert ou le
plus récent.
Y a t'il une solution dans le :
Set colProcesses1 = objWMIService.ExecQuery ("SELECT *
FROM Win32_Process WHERE Name = 'java.exe'")
de spécifier comme dans SQL LAST ?
J'essaie de mon côté et si j'ai des infos je les dépose.
Merci pour ta réponse, mais cela me donne l'info lors de la fermeture du dernier process en date.
Je me suis ma expliqué: J'ai un prog exe qui lorsqu'il se lance, demande un mot de passe puis lance ensuite java.exe pour son interface. Le prog exe continue de fonctionné, et je souhaite récupérer le PID de java.exe au cas ou j'en ai deux. Sachant qu'entre le lancement de java.exe après la saisie du password, il peut y avoir 3 à 5 secondes, donc si la personne lance autre chose, ben pas cool, donc j'essaie de monitorer uniquement java.exe.
Amicalement Thierry
-----Message d'origine----- Bonjour,
Cf. Script Center sur : http://www.microsoft.com/technet/scriptcenter/scripts/defa ult.mspx
Par exemple : ======================== =============== strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colMonitoredProcesses = objWMIService. _ ExecNotificationQuery("select * from __instancedeletionevent " _
& "within 1 where TargetInstance isa 'Win32_Process'")
i = 0
Do While i = 0 Set objLatestProcess = colMonitoredProcesses.NextEvent Wscript.Echo objLatestProcess.TargetInstance.Name Loop ======================== ================
Cdlt Stéphane
"Thierry" a écrit dans le message de
news: 7e8801c526e8$bddef1a0$ Bonjour,
J'ai une application qui est lancer par un exe, cet exe lance utilise java.exe
Je dois monitorer le java.exe. Aucun soucis si je le lance une seule fois, je sais récupérer son PID, mais si je le lance 2 fois ça se complique puisqu'il me trouve forcément le premier, hors je souhaiterai qu'il identifie le dernier ouvert ou le plus récent. Y a t'il une solution dans le : Set colProcesses1 = objWMIService.ExecQuery ("SELECT * FROM Win32_Process WHERE Name = 'java.exe'") de spécifier comme dans SQL LAST ? J'essaie de mon côté et si j'ai des infos je les dépose.
Amicalement, Thierry
.
Do Re Mi chel La Si Do
Bonsoir !
Les informations sur les processus, fournies par WMI, ont la propriété .CommandLine
Si les différents lancements de java.exe contiennent un ou des paramètres différents (même inutiles), tu pourrais utiliser cette propriété, pour savoir de quelle instance il s'agit.
Dans le genre de paramètre de ligne de commande "inutile" qu'il est possible d'ajouter : le nom d'utilisateur, ou l'heure.
Une autre propriété (peut-être) intéressante, c'est .ElapsedTime
@-salutations -- Michel Claveau
Bonsoir !
Les informations sur les processus, fournies par WMI, ont la propriété
.CommandLine
Si les différents lancements de java.exe contiennent un ou des paramètres
différents (même inutiles), tu pourrais utiliser cette propriété, pour
savoir de quelle instance il s'agit.
Dans le genre de paramètre de ligne de commande "inutile" qu'il est possible
d'ajouter : le nom d'utilisateur, ou l'heure.
Une autre propriété (peut-être) intéressante, c'est .ElapsedTime
Les informations sur les processus, fournies par WMI, ont la propriété .CommandLine
Si les différents lancements de java.exe contiennent un ou des paramètres différents (même inutiles), tu pourrais utiliser cette propriété, pour savoir de quelle instance il s'agit.
Dans le genre de paramètre de ligne de commande "inutile" qu'il est possible d'ajouter : le nom d'utilisateur, ou l'heure.
Une autre propriété (peut-être) intéressante, c'est .ElapsedTime
@-salutations -- Michel Claveau
Thierry
Bonjour,
Lorsque j'utilise .ElapsedTime, il m'est retourné une erreur, je suis en Win2k, et .ElapsedTime est utilisable à priori à partir de XP et 2003 avec WbemScripting.SWbemRefresher
Voici une copie de mon script qui pour l'instant est rudimentaire:
strComputer = "."
i = 0
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
Set colItems1 = objWMIService.ExecQuery("Select * from Win32_Process WHERE NAME='notepad.exe'") For Each objItem in colItems1 i = i + 1 strProcessId = objItem.ProcessId strResult = strResult & vbcrlf & "Process " & i & " : " & strProcessId strResult = strResult & vbcrlf & "Temps écoulé : " & objItem.ElapsedTime Next
strResult = "Nb Process : " & i & vbcrlf & strResult
If i > 0 Then Set colItems2 = objWMIService.ExecQuery("Select * from Win32_Process WHERE NAME='notepad.exe'") For Each objItem in colItems2 strVal = objItem.ProcessId If strVal > strValTmp Then strValMax = strVal Else strValMax = strValTmp strValTmp = strVal Next
MsgBox strResult & vbcrlf & vbcrlf & "Le Process maxi est : " & strValMax End if
Mais je n'arrive toujours pas à savoir quel est le dernier ouvert.
Amicalement, Thierry
-----Message d'origine----- Bonsoir !
Les informations sur les processus, fournies par WMI, ont la propriété
..CommandLine
Si les différents lancements de java.exe contiennent un ou des paramètres
différents (même inutiles), tu pourrais utiliser cette propriété, pour
savoir de quelle instance il s'agit.
Dans le genre de paramètre de ligne de commande "inutile" qu'il est possible
d'ajouter : le nom d'utilisateur, ou l'heure.
Une autre propriété (peut-être) intéressante, c'est .ElapsedTime
@-salutations -- Michel Claveau
.
Bonjour,
Lorsque j'utilise .ElapsedTime, il m'est retourné une
erreur, je suis en Win2k, et .ElapsedTime est utilisable à
priori à partir de XP et 2003 avec
WbemScripting.SWbemRefresher
Voici une copie de mon script qui pour l'instant est
rudimentaire:
strComputer = "."
i = 0
Set objWMIService = GetObject("winmgmts:\" & strComputer
& "rootcimv2")
Set colItems1 = objWMIService.ExecQuery("Select * from
Win32_Process WHERE NAME='notepad.exe'")
For Each objItem in colItems1
i = i + 1
strProcessId = objItem.ProcessId
strResult = strResult & vbcrlf & "Process " & i & " : "
& strProcessId
strResult = strResult & vbcrlf & "Temps écoulé : " &
objItem.ElapsedTime
Next
strResult = "Nb Process : " & i & vbcrlf & strResult
If i > 0 Then
Set colItems2 = objWMIService.ExecQuery("Select * from
Win32_Process WHERE NAME='notepad.exe'")
For Each objItem in colItems2
strVal = objItem.ProcessId
If strVal > strValTmp Then strValMax = strVal Else
strValMax = strValTmp
strValTmp = strVal
Next
MsgBox strResult & vbcrlf & vbcrlf & "Le Process maxi
est : " & strValMax
End if
Mais je n'arrive toujours pas à savoir quel est le dernier
ouvert.
Amicalement,
Thierry
-----Message d'origine-----
Bonsoir !
Les informations sur les processus, fournies par WMI, ont
la propriété
..CommandLine
Si les différents lancements de java.exe contiennent un
ou des paramètres
différents (même inutiles), tu pourrais utiliser cette
propriété, pour
savoir de quelle instance il s'agit.
Dans le genre de paramètre de ligne de commande "inutile"
qu'il est possible
d'ajouter : le nom d'utilisateur, ou l'heure.
Une autre propriété (peut-être) intéressante,
c'est .ElapsedTime
Lorsque j'utilise .ElapsedTime, il m'est retourné une erreur, je suis en Win2k, et .ElapsedTime est utilisable à priori à partir de XP et 2003 avec WbemScripting.SWbemRefresher
Voici une copie de mon script qui pour l'instant est rudimentaire:
strComputer = "."
i = 0
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
Set colItems1 = objWMIService.ExecQuery("Select * from Win32_Process WHERE NAME='notepad.exe'") For Each objItem in colItems1 i = i + 1 strProcessId = objItem.ProcessId strResult = strResult & vbcrlf & "Process " & i & " : " & strProcessId strResult = strResult & vbcrlf & "Temps écoulé : " & objItem.ElapsedTime Next
strResult = "Nb Process : " & i & vbcrlf & strResult
If i > 0 Then Set colItems2 = objWMIService.ExecQuery("Select * from Win32_Process WHERE NAME='notepad.exe'") For Each objItem in colItems2 strVal = objItem.ProcessId If strVal > strValTmp Then strValMax = strVal Else strValMax = strValTmp strValTmp = strVal Next
MsgBox strResult & vbcrlf & vbcrlf & "Le Process maxi est : " & strValMax End if
Mais je n'arrive toujours pas à savoir quel est le dernier ouvert.
Amicalement, Thierry
-----Message d'origine----- Bonsoir !
Les informations sur les processus, fournies par WMI, ont la propriété
..CommandLine
Si les différents lancements de java.exe contiennent un ou des paramètres
différents (même inutiles), tu pourrais utiliser cette propriété, pour
savoir de quelle instance il s'agit.
Dans le genre de paramètre de ligne de commande "inutile" qu'il est possible
d'ajouter : le nom d'utilisateur, ou l'heure.
Une autre propriété (peut-être) intéressante, c'est .ElapsedTime