Je suis en train de récupérer tous les utilisateurs et leurs groupes associés d'une Active Directory serveur, en utilisant une requête LDAP . Apparemment, Active Directory ne me donne pas le groupe principal des utilisateurs. Par exemple, cette recherche:LDAP: Comment obtenir tous les utilisateurs et les groupes d'Active Directory
(objectclass=user)
produit ce résultat:
# Test User, Users, sub.domain.net
dn: CN=Test User,CN=Users,DC=sub,DC=domain,DC=net
....
memberOf: CN=Domain Admins,CN=Users,DC=sub,DC=domain,DC=net
memberOf: CN=Administrators,CN=Builtin,DC=sub,DC=domain,DC=net
....
primaryGroupID: 515
....
Le groupe principal pour cet utilisateur est test Groupe (je le sais parce que j'ai créé cette paire utilisateur/groupe) alors allons jetez un oeil à celui-là:
# Test Group, Users, sub.domain.net
dn: CN=Test Group,CN=Users,DC=sub,DC=domain,DC=net
objectClass: top
objectClass: group
cn: Test Group
distinguishedName: CN=Test Group,CN=Users,DC=sub,DC=domain,DC=net
instanceType: 4
whenCreated: 20101014151945.0Z
whenChanged: 20101015141656.0Z
uSNCreated: 41007
uSNChanged: 41133
name: Test Group
objectGUID:: aQH58S0MWU2Fu/Cli72u0A==
objectSid:: AQUAAAAAAAUVAAAAIzgCYuz3AhjZk27UXgQAAA==
sAMAccountName: Test Group
sAMAccountType: 268435456
groupType: -2147483646
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=sub,DC=domain,DC=net
dSCorePropagationData: 16010101000000.0Z
Comment suis-je supposé associer les utilisateurs avec leurs groupes primaires? Tout ce que je reçois lorsque je liste les propriétés d'un utilisateur est une propriété primaryGroupID
, mais sa valeur est nulle part dans la base de données LDAP entière (objectclass=*
).
Comment accédez-vous/lisez-vous à Active Directory? Quelle programmation ou langage de script utilisez-vous? Beaucoup de ces choses sont très spécifiques à votre environnement de développement ..... –
@marc_s J'utilise PHP et les exemples donnés ci-dessus proviennent de la sortie de ldapsearch – Tom
@Tom: ok, merci - je ne suis pas un expert PHP, et tout mon code que j'aurais à portée de main serait .NET (C#) - donc je crains de ne pas pouvoir vraiment vous aider ici ... –