Parser les users contenus ds les groupes d'une OU
Le
Dom
Bonsoir,
Je souhaiterai parser les utilisateurs contenus dans ts les groupes d'une OU
donnée pour ensuite les ajouter à un groupe autre.
Comment faire celà ?
Merci à tous de votre savoir
Dom
Je souhaiterai parser les utilisateurs contenus dans ts les groupes d'une OU
donnée pour ensuite les ajouter à un groupe autre.
Comment faire celà ?
Merci à tous de votre savoir
Dom

Poser une question


Sur Script Center (à adapter) :
List Group Memberships for All the Users in an OU
On Error Resume Next
Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D
Set objOU = GetObject _
("LDAP://cn=Users,dc=NA,dcúbrikam,dc=com")
ObjOU.Filter= Array("user")
For Each objUser in objOU
WScript.Echo objUser.cn & " is a member of: "
WScript.Echo vbTab & "Primary Group ID: " & _
objUser.Get("primaryGroupID")
arrMemberOf = objUser.GetEx("memberOf")
If Err.Number <> E_ADS_PROPERTY_NOT_FOUND Then
For Each Group in arrMemberOf
WScript.Echo vbTab & Group
Next
Else
WScript.Echo vbTab & "memberOf attribute is not set"
Err.Clear
End If
Wscript.Echo
Next
Cdlt
Stéphane
"Dom"
Fort de l'info de Stéphane, j'ai ébauché un code sensé récupérer les
utilisateurs de l'OU Users (OU windows par défaut) et les injecter dans le
groupe UtilisateursTest, groupe positionné à la racine de mon domaine
(bretagne.local). Le DC est dom1.
Voici mon code:
On Error Resume Next
Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D
Const ADS_PROPERTY_APPEND = 3
Dim nom
Set objOU = GetObject _
("LDAP://cn=Users,dc=bretagne,dc=local")
ObjOU.Filter= Array("user")
For Each objUser in objOU
WScript.Echo objUser.cn
nom = "(" & """" & objUser.cn & ",dc=dom1,dc=bretagne,dc=local" & """"
& ")"
WScript.Echo nom
Set objGroup = GetObject _
("LDAP://cn=UtilisateursTest,dc=dom1,dc=bretagne,dc=local")
objGroup.PutEx ADS_PROPERTY_APPEND, _
"member", Array(nom)
objGroup.SetInfo
Next
Le code ne me retourne pas d'erreurs mais le groupe de destination ne
s'incrémente pas des utilisateurs désirés ...
C'est où que j'ai faux ?
Si une bonne ame pouvait m'aider à ouvrir les yeux ...
Merci
Dom
Je n'ai pas testé ton script mais j'ai fait quelque chose de similaire
avec une autre méthode.
Tu peux essayer d'utiliser :
objGroup.Add("LDAP://cn= " & objUser.cn &
",dc=dom1,dc=bretagne,dc=local")
D'autre part tu peux déplacer le Set objGroup en dehors de la boucle.
--
Fred
http://www.cerbermail.com/?3kA6ftaCvT