Je souhaite créer un outil en C# permettant de faire quelques actions simples sur des objets dans un Active Directory. J'ai réussi à créer un utilisateur et le déplacer où je souhaite, mais je n'arrive pas à l'ajouter dans des groupes. Le problème doit être bête, mais je ne vois pas ce qui manque.
Voici mon code :
try
{
System.DirectoryServices.DirectoryEntry dirEntry = new System.DirectoryServices.DirectoryEntry("LDAP://AD.domaine.com/test", login_admin, password_admin);
if (dirEntry != null)
{
dirEntry.Properties["member"].Add(common_name);
dirEntry.CommitChanges();
dirEntry.Close();
appendConsole("SUCCESS : User added to group : " + "test", 3);
}
else
{
appendConsole("ERROR : group not found", 2);
}
}
catch (System.DirectoryServices.DirectoryServicesCOMException E)
{
appendConsole("ERROR : " + E.Message.ToString(), 2);
}
Sur la console j'obtiens l'erreur suivante : "Une syntaxe DN non valide a été spécifiée". Donc on n'est pas tombé dans le else "group not found" mais dans le catch, je ne comprends pas pourquoi. Je précise que "test" est le CN d'un groupe actuellement vide créé à cet effet. Quelqu'un aurait une piste ?
Sur la variable "common_name", donc celle du user, j'ai tenté "CN=test user" et "test user", aucun des deux ne fonctionne.
Merci pour votre réponse. Effectivement l'erreur se produit bien sur la ligne 3, mais je ne comprends pas ce qui manque. Voici une capture de la console avec un point d'arrêt :
Tu as regardé ce que contenait dirEntry.Properties ? (y-a-t-il "member"?) le path, c'est de la forme "LDAP://CN=test,DC=<nomdomain>,DC=<extension>" ou "LDAP://<serveur>:<port>/CN=test" ?
Merci pour votre retour et désolé pour la réponse tardive.
Après de nombreuses tentatives j'ai fini par lui donner le bon format de données en entrée. C'était bien dirEntry.Properties qui n'était pas valide.
Ideas worth spreading
C# - question requêtes LDAP sur Active Directory
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.