OVH Cloud OVH Cloud

recupere les groupes d'user en VBS

2 réponses
Avatar
palotte80
Bonjour a tous !

j'aimerais recuperer les groupes auquels appartient un utilisateur
afin de les ajouter a un autre utilisateur, et ceci en VBS.

j'ai essayé avec l'attibut groupMembershipSam mais il ne me renvoit
rien ou je m'y suis peut etre mal pris pour verifier.

voici la partie du code :

---------------------------------------------------------
dim infoget

set infoget = GetObject ("LDAP://cn=zinedine
zidane,cn=users,dc=test,dc=com")

MsgBox (infoget.groupMembershipSam)
---------------------------------------------------------

ce code m'affiche une MsgBox vide...

Merci de votre aide :)

Stephane.

2 réponses

Avatar
Fabricem [MS]
Bonjour

Voici un exemple permettant pour l'utilisateur courant de lister les groupes
dont il est membre (au format DN), suffit ensuite de traiter le string et de
rajouter le nouvel utilisateur dans les groupes en question

Set ADSysInfo = CreateObject("ADSystemInfo")

'récupération du current user
wscript.echo VbCrLf &"Current User : "& ADSysInfo.username

Set CurrentUser = GetObject("LDAP://" & ADSysInfo.username)

strGroups = CurrentUser.MemberOf

WScript.Echo "memberOf:"
For Each Item in strGroups
WScript.Echo vbTab & Item
Next


Cdlt

--
Fabrice Meillon
Architecte Infrastructure
Division Développeurs et Plate-Forme d'Entreprise
Microsoft France


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

Bonjour a tous !

j'aimerais recuperer les groupes auquels appartient un utilisateur
afin de les ajouter a un autre utilisateur, et ceci en VBS.

j'ai essayé avec l'attibut groupMembershipSam mais il ne me renvoit
rien ou je m'y suis peut etre mal pris pour verifier.

voici la partie du code :

---------------------------------------------------------
dim infoget

set infoget = GetObject ("LDAP://cn=zinedine
zidane,cn=users,dc=test,dc=com")

MsgBox (infoget.groupMembershipSam)
---------------------------------------------------------

ce code m'affiche une MsgBox vide...

Merci de votre aide :)

Stephane.


Avatar
Fabricem [MS]
Voilà le script entier :)

strCurrentUserDN = "<CurrentUserDN>"
' e.g. cn=jsmith,ou=Sales,dc=rallencorp,dc=com

strNewUserDN = "<NewUserDN>"
' e.g. cn=rallen,ou=Sales,dc=rallencorp,dc=com"

' ------ SCRIPT CONFIGURATION ------
Const ADS_PROPERTY_APPEND = 3

set objCurrentUser = GetObject("LDAP://" & strCurrentUserDN )
set objNewUser = GetObject("LDAP://" & strNewUserDN )

on error resume next
WScript.Echo "Tranfert des groupes de " & strCurrentUserDN & " vers " &
strNewUserDN
for each strGroupDN in objCurrentUser.GetEx("memberOf")
set objGroup = GetObject("LDAP://" & strGroupDN)
objGroup.PutEx ADS_PROPERTY_APPEND, "member", Array( strNewUserDN )
objGroup.SetInfo
if Err then
WScript.Echo "Erreur lors de l'ajout: " & strGroupDN
else
WScript.Echo "Utilisateur ajouté: " & strGroupDN
end if
next

Cdlt
--
Fabrice Meillon
Architecte Infrastructure
Division Développeurs et Plate-Forme d'Entreprise
Microsoft France


"Fabricem [MS]" a écrit dans le message de
news:
Bonjour

Voici un exemple permettant pour l'utilisateur courant de lister les
groupes dont il est membre (au format DN), suffit ensuite de traiter le
string et de rajouter le nouvel utilisateur dans les groupes en question

Set ADSysInfo = CreateObject("ADSystemInfo")

'récupération du current user
wscript.echo VbCrLf &"Current User : "& ADSysInfo.username

Set CurrentUser = GetObject("LDAP://" & ADSysInfo.username)

strGroups = CurrentUser.MemberOf

WScript.Echo "memberOf:"
For Each Item in strGroups
WScript.Echo vbTab & Item
Next


Cdlt

--
Fabrice Meillon
Architecte Infrastructure
Division Développeurs et Plate-Forme d'Entreprise
Microsoft France


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

Bonjour a tous !

j'aimerais recuperer les groupes auquels appartient un utilisateur
afin de les ajouter a un autre utilisateur, et ceci en VBS.

j'ai essayé avec l'attibut groupMembershipSam mais il ne me renvoit
rien ou je m'y suis peut etre mal pris pour verifier.

voici la partie du code :

---------------------------------------------------------
dim infoget

set infoget = GetObject ("LDAP://cn=zinedine
zidane,cn=users,dc=test,dc=com")

MsgBox (infoget.groupMembershipSam)
---------------------------------------------------------

ce code m'affiche une MsgBox vide...

Merci de votre aide :)

Stephane.