VBS : liste les groupes d'un utilisateur

Signaler
Messages postés
33
Date d'inscription
vendredi 18 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2009
-
Messages postés
148
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
4 décembre 2008
-
Bonjour,


Je cherche une fonction qui m'affiche la liste des groupes d'un utilisateur (issu d'Active Directory)


Merci d'avance
Cordialement


 

2 réponses

Messages postés
78
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
6 octobre 2008

Salut,

Je sais que ce n'est pas tout à fait ce que tu cherches mais c'est peut-être un début...


On Error Resume Next

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")


Set colItems = objWMIService.ExecQuery("Select * from Win32_GroupUser")


For Each objItem in colItems

    Wscript.Echo "Compte: " &vbCrLf& objItem.PartComponent &vbCrLf&_

                "Groupe: " &vbCrLf& objItem.GroupComponent

Next


Bon courage...
Messages postés
148
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
4 décembre 2008

Bonjour je ne sais pas si tu a trouvé sinon tu pe essayer ca :
On Error Resume Next


dim T(9)


Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = 2


tUser = inputbox("Quel utilisateur ?")
chaine = ""
'Recherche de l'adresse de l'utilisateur
objCommand.CommandText = "SELECT ADsPath FROM 'LDAP://dc=nom du domaine,dc=Local' WHERE objectCategory='user' AND name='" & tUser & "'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Wscript.Echo objRecordSet.Fields("ADsPath").Value
 chaine = chaine & objRecordSet.Fields("ADsPath").Value
 objRecordSet.MoveNext
Loop


Set oUser = GetObject(chaine)
i = -1
objmemberOf  = oUser.GetEx("memberOf")
For Each objGroup in objmemberOf
   strList = strList & objGroup & vbcr
   i =i+1
   T(i) = objGroup
Next
j=i
WScript.Echo "Groups for " & tUser & vbCr & strList
'Affiche le nom du groupe
for i = 0 to j
 z=0
 valeur=""
 do until valeur=","
  z = z + 1
  valeur = mid(T(i) , z , 1)
 loop
 wscript.Echo mid(T(i) , 4 , (z-4))
next


wscript.quit



"L'horreur est humaine" - Comique célèbre