Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Obtenir la liste des processus d'une machine distante

9 réponses
Avatar
HD
Bonjour,

Via VBA, sur un LAN, je voudrais connaître les processus tournant sur un PC
du réseau...

Mais comment procéder ?
Peut on manipuler une DLL ? ou un outils Windows ?

Merci d'avance pour votre aide
--
@+
HD

9 réponses

Avatar
michdenis
Bonjour HD,

Ceci te donne la liste des exécutables sur l'ordinateur
où tu exécutes ce code. Comme je ne suis pas en réseau
je ne peux tester ce que tu demande... mais je pense
qu'en renseignant la variable "strComputer" de l'endroit et
du nom de l'ordinateur sur le réseau, tu devrais obtenir
ce que tu désires !

'------------------------------------------
Sub test()
Dim A As Integer
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & _
strComputer & "rootcimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process")
For Each Objprocess In colProcessList
A = A + 1
With Worksheets("Feuil1")
.Range("A" & A) = Objprocess.Name
End With
Next
End Sub
'------------------------------------------



"HD" a écrit dans le message de groupe de discussion :
h9hu64$8ib$
Bonjour,

Via VBA, sur un LAN, je voudrais connaître les processus tournant sur un PC
du réseau...

Mais comment procéder ?
Peut on manipuler une DLL ? ou un outils Windows ?

Merci d'avance pour votre aide
--
@+
HD
Avatar
HD
> Comme je ne suis pas en réseau
je ne peux tester ce que tu demande...
mais je pense qu'en renseignant la variable
"strComputer" de l'endroit et du nom de
l'ordinateur sur le réseau, tu devrais obtenir
ce que tu désires !



Un grand MERCI à toi MichDenis... Effectivement, j'ai remplacé la variable
"strComputer" par l'adresse ip d'une machine distante et j'en ai obtenu la
liste des processus...

@+
HD
Avatar
HD
Ouille... J'ai un souci... via cette macro, j'obtiens bien la liste des
processus... si ce n'est que les processus des anciennes applications 16bits
n'apparaissent pas dans la liste... On les a bien via le gestionnaire de
tâches mais via la macro ils n'apparaissent pas... :-/

Y'a-t-il un moyen d'avoir tout les processus ?

@+
HD
Avatar
michdenis
Bonjour HD,

Je ne saurais répondre à cette question.

Tu devrais avoir plus de chance si tu utilisais
d'autres groupes de discussion soit sur Windows ou

microsoft.public.scripting.Remote
ou
microsoft.public.scripting.Scripting

Si tu trouves une réponse satisfaisante, n'oublie pas
nous sommes intéressés au solution !
;-)

Bonne chance.



"HD" a écrit dans le message de groupe de discussion :
h9q9h3$2qfr$
Ouille... J'ai un souci... via cette macro, j'obtiens bien la liste des
processus... si ce n'est que les processus des anciennes applications 16bits
n'apparaissent pas dans la liste... On les a bien via le gestionnaire de
tâches mais via la macro ils n'apparaissent pas... :-/

Y'a-t-il un moyen d'avoir tout les processus ?

@+
HD
Avatar
FS
Bonjour,

Deux autres méthodes possibles pour récupérer la liste des processus en
cours d'exécution (je ne peux tester avec des applications 16 bits, je
n'ai plus ça sur ma machine) :

http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives1.txt
http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives2.txt

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

HD a écrit :
Ouille... J'ai un souci... via cette macro, j'obtiens bien la liste des
processus... si ce n'est que les processus des anciennes applications 16bits
n'apparaissent pas dans la liste... On les a bien via le gestionnaire de
tâches mais via la macro ils n'apparaissent pas... :-/

Y'a-t-il un moyen d'avoir tout les processus ?

@+
HD




Avatar
isabelle
bonjour Frederic,

merci à toi, les deux fonctionnent très bien,
tester avec 3D Home Ver. 1 (1993)

isabelle

FS a écrit :
Bonjour,

Deux autres méthodes possibles pour récupérer la liste des processus
en cours d'exécution (je ne peux tester avec des applications 16 bits,
je n'ai plus ça sur ma machine) :

http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives1.txt
http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives2.txt

FS


Avatar
FS
Bonjour Isabelle,

Merci du test. J'essaierai de m'en souvenir pour une prochaine question
sur ce sujet.
Cordialement

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

isabelle a écrit :
bonjour Frederic,

merci à toi, les deux fonctionnent très bien,
tester avec 3D Home Ver. 1 (1993)

isabelle

FS a écrit :
Bonjour,

Deux autres méthodes possibles pour récupérer la liste des processus
en cours d'exécution (je ne peux tester avec des applications 16 bits,
je n'ai plus ça sur ma machine) :

http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives1.txt
http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives2.txt

FS




Avatar
HD
> Deux autres méthodes possibles pour récupérer la liste des processus en
cours d'exécution (je ne peux tester avec des applications 16 bits, je
n'ai plus ça sur ma machine) :
http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives1.txt
http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives2.txt


Effectivement... L'on a une liste bien plus complète qui prend en compte les
anciennes applis 16bits mais (désolé de faire le rabat joies lol)...
- Je n'ai pas trouvé comment l'exécuter à partir de mon poste pour obtenir
la liste des tâches d'une machine distante...
- La liste est moins détaillée car avec l'autre script j'ai le nom du
processus (Objprocess.Name) et sa ligne de commande (Objprocess.CommandLine)
- Petite question.... La liste obtenue correspond à la liste des tâche
actives en mémoire (j'ai avec ce script 116 tâches qui s'affichent alors
qu'avec Set objWMIService = GetObject("winmgmts:" &
"{impersonationLevel=impersonate}!" & strComputer & "rootcimv2") j'en ai
une quarantaine... la différence doit correspondre à des tâches "cachées"
???)


@+
HD
Avatar
FS
Bonjour,

Désolé de réagir tardivement. J'ai fait quelques recherches mais pas
trouvé mieux pour ramener les infos qui t'intéressent d'une machine
distante.
Quand aux différences des listes, il me semble que le WMI ne renvoie que
les exécutables alors que les API renvoient les noms des applications et
de leurs fenêtres filles actives, qu'elles soient visibles ou non. (Ce
n'est d'ailleurs finalement pas étonnant compte tenu des fonctions
utilisées).

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

HD a écrit :
Deux autres méthodes possibles pour récupérer la liste des processus en
cours d'exécution (je ne peux tester avec des applications 16 bits, je
n'ai plus ça sur ma machine) :
http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives1.txt
http://frederic.sigonneau.free.fr/code/Excel/ListeTachesActives2.txt


Effectivement... L'on a une liste bien plus complète qui prend en compte les
anciennes applis 16bits mais (désolé de faire le rabat joies lol)...
- Je n'ai pas trouvé comment l'exécuter à partir de mon poste pour obtenir
la liste des tâches d'une machine distante...
- La liste est moins détaillée car avec l'autre script j'ai le nom du
processus (Objprocess.Name) et sa ligne de commande (Objprocess.CommandLine)
- Petite question.... La liste obtenue correspond à la liste des tâche
actives en mémoire (j'ai avec ce script 116 tâches qui s'affichent alors
qu'avec Set objWMIService = GetObject("winmgmts:" &
"{impersonationLevel=impersonate}!" & strComputer & "rootcimv2") j'en ai
une quarantaine... la différence doit correspondre à des tâches "cachées"
???)


@+
HD