Récuperer le workgroup en vbscript

Résolu
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007 - 20 sept. 2007 à 16:43
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007 - 26 sept. 2007 à 20:00
Bonjour,

Je suis en train de faire, dans le cadre du boulot, un script qui doit récupérer le workgroup (ou 'groupe de travail' en francais of course) afin de lançer telle ou telle commande en fonction de ce workgroup. Je cherche depuis longtemps une information à ce sujet sans succès. Je trouve le moyen de retourner un domaine, le nom de machine, aà peu près tout ce qui m'intéresse sauf le groupe de travail. J'ai arpenté des sites en anglais, des dizaines et des dizaines de forums sans succès. Une solution consisterait à opérer un tri sur la commande nbstat -n mais cette solution reste lourde et peu élégante. Je précise que ce script est utilisé sur une page web en intranet.

Si vous avez un début de réponse je suis preneur parce que mes recherches n'aboutissent pas alors que c'est la dernière information qu'il me manque pour mener à bien mon 'application'.

Merci d'avance. Je serais de retour sur le thread dès demain matin, donc d'ici là, n'hésitez pas à poster ;)

[xx(][font=Impact]Semifer/font=Impact

8 réponses

semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
21 sept. 2007 à 10:18
Bon et bien j'ai réussi à trouver à force de recherches:

set wmi = getobject( "winmgmts:" )
wql = "select * from win32_computersystem"
set results = wmi.execquery(wql)

For each compsys in results
    WScript.Echo compsys.domain
Next

Ca fonctionne nickel et fait exactement ce que j'attendais. Comme quoi, on est jamais mieux servi que par soi-même .
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
20 sept. 2007 à 18:04
 Bonjour,

Voir peut-être du côté wmi (Win32_Group, Win32_GroupInDomain et Win32_GroupUser).

jean-marc
0
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
21 sept. 2007 à 09:26
Je suis en train de chercher des infos là-dessus mais sincèrement, les explications que je trouve... n'expliquent pas grand chose. Je n'arrive même pas à trouver un début d'exemple, genre 3 lignes de vbs...

Je tiens bon, je vais bien finir par trouver :/
0
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
21 sept. 2007 à 11:31
Bon, cela marche dans le cadre d'un *.vbs... mais pas dans une page web. Si certains ont un début de réponse...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
21 sept. 2007 à 11:48
Après test, dans la page web, ça coince à Set wmi = GetObject("winmgmts:"). Du coup, ce qui se trouve après ne fonctionne pas...
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
21 sept. 2007 à 12:46
 Bonjour à tous,

Bonjour Semifer,

Ta syntaxe est incomplète.
exemple:
strComputer = "."
    Set objWMIService = GetObject("winmgmts:"  & _
         "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
    Set colComputer = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")

jean-marc
0
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
21 sept. 2007 à 14:53
Ca ne marche toujours pas dans ma page web... Même si ma syntaxe était incomplète, cela avait le mérite de fonctionner quand même  si j'éxecute le fichier .vbs. Malheureusement, même avec tes corrections, si je mets cela dans mes balises <SCRIPT ...> , il ne se passe rien. Et je n'ai évidemment aucune information donnée par IE (version 7 of course) au niveau debug.Voilà mon code:

Function Workgroup()
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel= impersonate}!\" & strComputer & "\root\cimv2 ")
    Set colComputer  = objWMIService.ExecQuery("select * from win32_computersystem")
   
    for Each compsys in colComputer
        Workgroup = compsys.domain
    next
End Function

Ensuite j'appelle ma fonction tout simplement:

Document.write"Groupe de travail: " & Workgroup

J'ai cherché à quel niveau l'éxecution ne se faisait pas et j'en suis toujours à la même ligne, Set objWMIService = GetObject("...")...

Vraiment je bute et je ne trouve aucune information, j'ai même pas de debug... Toutes mes autres fonctions, même en faisant appel à des objets WMI, fonctionnent sans problèmes...
0
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
26 sept. 2007 à 20:00
Un petit up, personne pour m'aider? Il doit bien y avoir un tueur de vbs dans le coin non?
0
Rejoignez-nous