Active directory list Ou

Signaler
Messages postés
10
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
1 septembre 2010
-
Messages postés
10
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
1 septembre 2010
-
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

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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
Messages postés
10
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
1 septembre 2010

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
Messages postés
10
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
1 septembre 2010

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;
}