IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Active Directory et liste des properties


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 103
    Points : 48
    Points
    48
    Par défaut Active Directory et liste des properties
    Bonjour,
    j'ai regardé/utilisé des tutoriels sur Active Directory.
    Actuellement, j'aimerai faire un menu déroulant des properties description et department.

    j'ai essayé de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    System.DirectoryServices.PropertyValueCollection pvc = this._mySearchRoot.Properties[property];
     
                //initialisation de la DataTable
                DataTable dt = new DataTable();
                dt.Columns.Add(property, Type.GetType("System.String"));
     
                foreach (object o in pvc)
                    {
                        //création de la DataRow
                        DataRow dr = dt.NewRow();
                        dr[property] = o.ToString();
                        dt.Rows.Add(dr);
                    }
     
                return dt;
            }
    ou this._mySearchRoot est mon this._mySearchRoot!

    et je n'ai eu que 1 élément de description et aucun de department

    dans quelle direction dois-je effectuer des recherches, car visiblement je suis pas dans la bonne

    merki,

    cdt,

    OminiuS

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 103
    Points : 48
    Points
    48
    Par défaut
    Voici la solution que j'ai trouvé :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
     
          /// <summary>
            /// Obtient la liste valeurs de la propriété
            /// </summary>
            /// <param name="property">Propriété dont on veut obtenir la liste</param>
            /// <returns>DataTable des valeurs des propriétés</returns>
            public DataTable GetPropertyList(string property)
            {
                DirectorySearcher myDirectorySearcher = new DirectorySearcher(this.MySearchRoot);
                myDirectorySearcher.SearchScope = SearchScope.Subtree;
     
                myDirectorySearcher.Filter = "(objectClass=User)";
                myDirectorySearcher.PropertiesToLoad.Add(property);
                myDirectorySearcher.SearchScope = SearchScope.Subtree;
                myDirectorySearcher.Sort.Direction = System.DirectoryServices.SortDirection.Ascending;
                this.MySearchResults = myDirectorySearcher.FindAll();
     
                System.DirectoryServices.ResultPropertyValueCollection propertyValues;
                System.Collections.Specialized.StringCollection sc = new System.Collections.Specialized.StringCollection();
     
                foreach (System.DirectoryServices.SearchResult result in this.MySearchResults)
                {
                    propertyValues = result.Properties[property];
                    if ((propertyValues.Count > 0))
                    {
                        string res = propertyValues[0].ToString();
                        if (res != String.Empty && !sc.Contains(res))
                        {
                            sc.Add(res);
                        }
                    }
                }
     
                //initialisation de la DataTable
                DataTable dt = new DataTable();
                dt.Columns.Add(property, Type.GetType("System.String"));
                foreach (string s in sc)
                {
                    //création de la DataRow
                    DataRow dr = dt.NewRow();
                    dr[property] = s;
                    dt.Rows.Add(dr);
                }
                //tri
                dt.DefaultView.Sort = property + " ASC";
     
                return dt;
            }
    ou this._mySearchRoot est mon DirectoryEntry!

    voila, s'il y a mieux, je suis prenneur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/02/2012, 07h43
  2. Réponses: 0
    Dernier message: 27/01/2009, 17h15
  3. Réponses: 2
    Dernier message: 08/02/2008, 15h20
  4. Active Directory - groupe liste distribution
    Par silverfab34 dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 18/01/2008, 10h50
  5. Liste des autorisations d'un objet active directory
    Par Eome dans le forum Sécurité
    Réponses: 1
    Dernier message: 04/04/2007, 12h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo