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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stéphane [MS]
Bonjour,
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" a écrit dans le message de news:
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
Bonjour,
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" <laurentdom@free.fr> a écrit dans le message de news:
Oz6TaHZtFHA.2392@tk2msftngp13.phx.gbl...
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
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" a écrit dans le message de news:
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
Dom
Bonsoir,
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
Bonsoir,
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
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
Fred
"Dom" a écrit dans le message de news:e0TRHI%
Bonsoir,
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 ?
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
"Dom" <laurentdom@free.fr> a écrit dans le message de
news:e0TRHI%23tFHA.3236@TK2MSFTNGP14.phx.gbl...
Bonsoir,
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 ?
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.
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 ?
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.