Modification ACL pour une liste de distrib
Bonjour à tous,
J'ai créé un script qui me permet de généré des listes de distribution dans une domaine AD.
Tout est ok ! J'arrive à ajouter le manager, etc, etc... Il me manque JUSTE la petite coche qui va bien : "Le gestionnaire peut mettre à jour la liste des membres".
Après pas mal de recherche, j'ai compris qu'il s'agissait d'une modif d'acl, j'ai trouvé même un bout de code, que j'ai adapté... mais ca ne fonctionne pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| set objSecurityDescriptor = objGroup.Get("ntSecurityDescriptor")
Set objDACL = objSecurityDescriptor.DiscretionaryACL
Set objACE = CreateObject("AccessControlEntry")
objACE.Trustee = objUser.distinguishedName
objACE.AccessMask = ADS_RIGHT_DS_WRITE_PROP
objACE.AceFlags = ADS_ACEFLAG_DONT_INHERIT_ACE
objACE.AceType = ADS_ACETYPE_ACCESS_ALLOWED_OBJECT
objACE.Flags = ADS_FLAG_OBJECT_TYPE_PRESENT
objACE.objectType = ADS_OBJECT_WRITE_MEMBERS
objDACL.AddAce objACE
objSecurityDescriptor.DiscretionaryACL = objDACL
objGroup.Put "ntSecurityDescriptor", Array(objSecurityDescriptor)
objGroup.SetInfo |
J'obtiens une erreur sur la ligne objGroup.Put "ntSecurityDescriptor", Array(objSecurityDescriptor) avec "Structure de l'ID de sécurité non valide" "code : 80070539"
J'ai volontairement mit que la partie du code interessante... si vraiment vous avez besoin de plus, je peu la donner!
Merci de votre aide en tout cas !!!
*** Edit ***
Avec le code suivant, je n'ai plus d'erreur... mais je ne vois rien se faire !!!!
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Set objSecurityDescriptor = objGroup.Get("ntSecurityDescriptor")
Set objDACL = objSecurityDescriptor.DiscretionaryACL
Set objACE = CreateObject("AccessControlEntry")
wscript.echo (objUser.sAMAccountName)
objACE.Trustee = "Commun\" & objUser.Get("sAMAccountName")
objace.accessmask = &H20
objace.acetype = &H5
objace.flags = &H1
objace.aceflags= &H2
objace.ObjectType = "{BF9679C0-0DE6-11D0-A285-00AA003049E2}"
objSecurityDescriptor.DiscretionaryAcl = objDACL
objgroup.Put "ntSecurityDescriptor", objSecurityDescriptor
objgroup.SetInfo |