Active directory list Ou

run80 Messages postés 10 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 1 septembre 2010 - 21 juil. 2010 à 12:07
run80 Messages postés 10 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 1 septembre 2010 - 21 juil. 2010 à 14:39
bonjour , Je suis en cours de développement d’une application qui crée des utilisateurs, désactive des utilisateurs,…. Je bloc sur un point je veux lister toute les OU d’active directory j’ai codé cet fonction mais elle ne me renvoie rien alors que dans mon domaine il y a bien des OU .

public List<string> getOu()
{
List<string> liste = new List<string>();

if (_coValider == _coValider)//verif si je suis co
{
try
{
DirectoryEntry entry = new DirectoryEntry("LDAP://stage_test_nc2.local", _User, _Pwd);
DirectorySearcher searcher = new DirectorySearcher(entry);


searcher.Filter "(objectClass organizationalUnit)";


foreach (SearchResult result in searcher.FindAll())
{

liste.Add(Convert.ToString(result.GetDirectoryEntry().Name));
}
}
catch (Exception ex)
{
throw new Exception("Erreur pour obtenir les OU. " + ex.Message);
}

}
return liste;
}

3 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
21 juil. 2010 à 13:24
A la place de
result.GetDirectoryEntry().Name


essaye avec
result.GetDirectoryEntry().Properties("name").Value.ToString



[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
run80 Messages postés 10 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 1 septembre 2010
21 juil. 2010 à 14:35
g trouver la solution en partie grasse a ton message


avant cet ligne "
liste.Add(Convert.ToString(result.GetDirectoryEntry().Name)); "

g rajouter "DirectoryEntry DirEntry = result.GetDirectoryEntry();"

puis modifier la premier par :

"liste.Add(Convert.ToString(DirEntry.Properties["name"].Value));"

et hop c'est bon
0
run80 Messages postés 10 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 1 septembre 2010
21 juil. 2010 à 14:39
pour tout le monde voila ma méthode qui renvoie une liste de string contenant tout les OU d'un active directory :

public List<string> getOU()
{
List<string> liste = new List<string>();

if (_coValider == _coValider)//rien d'important en relation avec mon programme
{
try
{
DirectoryEntry entry = new DirectoryEntry("LDAP://stage_test_nc2.local", _User, _Pwd);
DirectorySearcher searcher = new DirectorySearcher(entry);

searcher.Filter = "(objectClass=organizationalUnit)";

foreach (SearchResult result in searcher.FindAll())
{
// On récupère l'entrée trouvée lors de la recherche
DirectoryEntry DirEntry = result.GetDirectoryEntry();

//On peut maintenant afficher les informations désirées

liste.Add(Convert.ToString(DirEntry.Properties["name"].Value));

}
}
catch (Exception ex)
{
throw new Exception("Erreur pour obtenir le nom du groupe. " + ex.Message);
}

}
return liste;
}
0
Rejoignez-nous