OVH Cloud OVH Cloud

recuperation du groupe d'un user

4 réponses
Avatar
zho
Bonsoir,

Je voudrais pouvoir récupérer les groupes d'un utilisateur donné dans l'AD
par un script vbs. Quelqu'un pourrait-il me donner quelques pistes s'il vous
plait?

4 réponses

Avatar
Stéphane [MS]
Bonjour,

Sur Script Center :
http://www.microsoft.com/technet/scriptcenter/scripts/ad/groups/adgpvb17.mspx
List the Active Directory Groups a User Belongs To

====================================================== On Error Resume Next
Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D

Set objUser = GetObject _
("LDAP://cn=MyerKen,ou=Management,dc=NA,dcúbrikam,dc=com")

intPrimaryGroupID = objUser.Get("primaryGroupID")
arrMemberOf = objUser.GetEx("memberOf")

If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
WScript.Echo "The memberOf attribute is not set."
Else
WScript.Echo "Member of: "
For Each Group in arrMemberOf
WScript.Echo Group
Next
End If

Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider­sDSOObject;"

Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.CommandText = _
";(objectCategory=Group);" & _
"distinguishedName,primaryGroupToken;subtree"
Set objRecordSet = objCommand.Execute

Do Until objRecordset.EOF
If objRecordset.Fields("primaryGroupToken") = intPrimaryGroupID Then
WScript.Echo "Primary group:"
WScript.Echo objRecordset.Fields("distinguishedName") & _
" (primaryGroupID: " & intPrimaryGroupID & ")"
End If
objRecordset.MoveNext
Loop

objConnection.Close
=======================================================
Cdlt
Stéphane
http://blogs.msdn.com/spapp/default.aspx

"zho" a écrit dans le message de news:

Bonsoir,

Je voudrais pouvoir récupérer les groupes d'un utilisateur donné dans l'AD
par un script vbs. Quelqu'un pourrait-il me donner quelques pistes s'il
vous
plait?




Avatar
F. Dunoyer [MVP]
Stéphane [MS] vient de nous annoncer :
Bonjour,

Sur Script Center :
http://www.microsoft.com/technet/scriptcenter/scripts/ad/groups/adgpvb17.mspx
List the Active Directory Groups a User Belongs To

Bonsoir stephane


Est ce que ça marche aussi pour les groupes hérités ?
Par groupe herité je veux dire les groupes qui contiennent les groupes
où est "physiquement" l'utilisateur?

merci

--
François Dunoyer [MVP Windows Server / Security]
Quelques liens pour Windows : http://fds.mvps.org/AdressesInternets.htm
Site perso : http://www.fdunoyer.net

Avatar
Stéphane [MS]
Bonjour,

Effectivement, la remarque est pertinente : les groupes hérités ne sont pas
lister.
Mon collègue et ami Guillaume Bordier suggère d'utiliser les "tokens" :

=========================== set oUsr = GetOBject("LDAP://" & getDN)


oUsr.GetInfoEx Array("TokenGroups"),0
tGroups = oUsr.Get("TokenGroups")
WScript.Echo "Nombre de groupes pour l'utilisateur : "& uBound(tGroups)
wsh.echo "recherche du nom des groupes ..."
for qi= lBound(tgroups) to UBound(tGroups)

hexStr = Get_HexString( tGroups(qi))
wsh.echo LookupSID(GetTextualSid( tGroups(qi)))
next
WScript.echo "DONE.... with " & UBound(tGroups) & " groups"
===========================
Cdlt
Stéphane
http://blogs.msdn.com/spapp/default.aspx


"F. Dunoyer [MVP]" ~.net> a écrit dans le
message de news:
Stéphane [MS] vient de nous annoncer :
Bonjour,

Sur Script Center :
http://www.microsoft.com/technet/scriptcenter/scripts/ad/groups/adgpvb17.mspx
List the Active Directory Groups a User Belongs To

Bonsoir stephane


Est ce que ça marche aussi pour les groupes hérités ?
Par groupe herité je veux dire les groupes qui contiennent les groupes où
est "physiquement" l'utilisateur?

merci

--
François Dunoyer [MVP Windows Server / Security]
Quelques liens pour Windows : http://fds.mvps.org/AdressesInternets.htm
Site perso : http://www.fdunoyer.net





Avatar
Michel Claveau
Bonsoir !

En invite de commande (batch), un petit :
NET USER TOTO

Donne ces informations (entre autres).
Il est possible des les récupérer par un filtre (pipe), ou un fichier.

--
@-salutations

Michel Claveau