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

optimiser un script VB

2 réponses
Avatar
Jérôme
Bonjour,

Je viens de me mettre au script Windows, mon but est de récupérer rapidement
tous les noms des utilisateurs présents sur le réseau. Pour ce faire
j'utilise ce code (extrait) :
------------------------------
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
if err.number=0 then
Set colComputer = objWMIService.ExecQuery ("Select UserName from
Win32_ComputerSystem")
For Each objComputer in colComputer
s=s & strComputer & "=>" & objComputer.UserName & VbCrLf
Next
end if
------------------------------
Avec cette méthode je mets 3 à 4 minutes pour récupérer les noms de login
sur 30 machines... Pas très efficace vous en conviendrez. Comment pourrais
je faire pour optimiser les 2 premières lignes, c'est à dire tester si une
machine est on-line ? Peut on mettre un timeout sur la réponse du GetObject
?

Jérôme

2 réponses

Avatar
---
<Ceci est une formulation automatique générée par MesNews>
Ce mercredi 26/01/2005, Jérôme est intervenu dans
pour nous dire :
<Ceci est un message automatique généré par MesNews>

Bonjour,

Je viens de me mettre au script Windows, mon but est de récupérer rapidement
tous les noms des utilisateurs présents sur le réseau. Pour ce faire
j'utilise ce code (extrait) :
------------------------------
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
if err.number=0 then
Set colComputer = objWMIService.ExecQuery ("Select UserName from
Win32_ComputerSystem")
For Each objComputer in colComputer
s=s & strComputer & "=>" & objComputer.UserName & VbCrLf
Next
end if
------------------------------
Avec cette méthode je mets 3 à 4 minutes pour récupérer les noms de login sur
30 machines... Pas très efficace vous en conviendrez. Comment pourrais je
faire pour optimiser les 2 premières lignes, c'est à dire tester si une
machine est on-line ? Peut on mettre un timeout sur la réponse du GetObject ?

Jérôme


En affinant votre requête WQL sans doute (consulter la doc de la classe
que vous utilisez).

--
888
AJOUT DE FICHIER
AJOUT DE FICHIER

Avatar
Jean
Bonjour,

En affinant votre requête WQL sans doute (consulter la doc de la classe que vous utilisez).

Amicalement,

Jean - JMST
Belgium

"Jérôme" a écrit dans le message de news:
Bonjour,

Je viens de me mettre au script Windows, mon but est de récupérer rapidement tous les noms des utilisateurs présents sur le
réseau. Pour ce faire j'utilise ce code (extrait) :
------------------------------
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
if err.number=0 then
Set colComputer = objWMIService.ExecQuery ("Select UserName from Win32_ComputerSystem")
For Each objComputer in colComputer
s=s & strComputer & "=>" & objComputer.UserName & VbCrLf
Next
end if
------------------------------
Avec cette méthode je mets 3 à 4 minutes pour récupérer les noms de login sur 30 machines... Pas très efficace vous en
conviendrez. Comment pourrais je faire pour optimiser les 2 premières lignes, c'est à dire tester si une machine est on-line ?
Peut on mettre un timeout sur la réponse du GetObject ?

Jérôme