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
?
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
---
<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
<Ceci est une formulation automatique générée par MesNews>
Ce mercredi 26/01/2005, Jérôme est intervenu dans
<uERl777AFHA.3336@TK2MSFTNGP11.phx.gbl> 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).
<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
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
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" <veuxpasduspam_jwittmer@libertysurf.fr> a écrit dans le message de news: uERl777AFHA.3336@TK2MSFTNGP11.phx.gbl...
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 ?
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 ?