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 :

ajout d'un utilisateur à un groupe active directory c# [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut ajout d'un utilisateur à un groupe active directory c#
    bonjour, j'ai un petit problème avec le code suivant:

    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
     
                try
                {
                    string groupDN = "OU=10001326,DC=otinfra,DC=local";
                    string userDN = "CN=Bob Eponge,DC=otinfra,DC=local";
     
                    DirectoryEntry LDAP = new DirectoryEntry("LDAP://adresseLDAP/"+groupDN, "identifiant", "monMotDePasse", AuthenticationTypes.Secure);
     
     
                    //LDAP.Invoke("Add", new Object[] {userDN.ToString() });
                    LDAP.Properties["distinguishedName"].Add(userDN);
                    LDAP.CommitChanges();
                    LDAP.Close();
     
                }
     
                catch (Exception EX)
                {
                    Console.WriteLine("l'utilisateur n'a pas été ajouté au groupe car: "+ EX.Message);
                }
    de plus j'ai essayé ce code en remplaçant distinguishedName par member et cela ne marche pas!

    ce code lors de la compilation me retourne l'erreur suivante :
    Le serveur ne souhaite pas traiter la requête.
    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Bonjour,

    Il me semble qu'il faudrait procédé comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                    string groupDN = "OU=10001326,DC=otinfra,DC=local";
                    string userDN = "CN=Bob Eponge,DC=otinfra,DC=local";
     
                    DirectoryEntry LDAP = new DirectoryEntry("LDAP://adresseLDAP/"+groupDN, "identifiant", "monMotDePasse", AuthenticationTypes.Secure);
                    DirectoryEntry user = Ldap.Children.Add("CN=Bob Eponge", "user");
                    //Les propriétés à attribuer [...]
                    user.CommitChanges();
    Edit: Un tutoriel est présent sur developpez : http://morpheus.developpez.com/addotnet/ADCSharp/#L6

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup!! Cela marche beaucoup mieux comme ça!

    Encore merci!

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    En fait la ce que tu m'as donner c'est le code pour créer un user dans le groupe! Ce que je voulais faire moi c'est affecter un groupe à un utilisateur déjà créer, sachant que dans mon programme je peux affecter plusieurs groupe a un user!

    ps: J'ai déjà étudié le tutoriel mais il ne répond pas a mon problème!

  5. #5
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Bonjour,

    Pour ajouter un ou plusieurs utilisateurs dans un groupe, il faut que tu récupères le groupe en question et que tu l'ajoutes ensuite :

    Comme fait ici

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Salut, j'ai déjà essayé cette méthode, cependant dans mon AD je n'ai pas la propriétée "member".

  7. #7
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Comment tu récupères ton groupe ?

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    dans le code que j'ai poster précédemment! je pense que je le récupère correctement!

    ce n'est pas le string groupDN, qui le fait?

  9. #9
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    As tu essayé de faire un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LDAP.Properties["member"].Add(userDN)

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    oui j'ai essayé. cependant je n'ai pas le même message d'erreur, cette foi-ci je récupère celui-ci:
    L'opération demandée n'est pas compatible avec l'une ou plusieurs des contraintes associées avec la classe de l'objet.
    Je ne sais plus comment faire

  11. #11
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Montre nous ton code actuel qui devrait te permettre d'ajouter un user à un groupe. On pourra cerner le problème

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Mon code est celui-ci :
    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
     
    static void Main(string[] args)
            {
          try
                {
                    string groupDN = "OU=10001326,DC=otinfra,DC=local";
                    string userDN = "CN=Alix Dubois,OU=10001285,DC=otinfra,DC=local";
     
                    DirectoryEntry LDAP = new DirectoryEntry("LDAP://10.249.0.1/"+groupDN, "Identifiant", "MotDePasse", AuthenticationTypes.Secure);
     
                    LDAP.Properties["member"].Add(userDN);
                    LDAP.CommitChanges();
                    LDAP.Close();
              }
     
                catch (Exception EX)
                {
                    Console.WriteLine("l'utilisateur n'a pas été ajouté au groupe car: "+ EX.Message);
                }
                Console.ReadLine();
                }
        }
        }

    je pense que le problème viens a 90% de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LDAP.Propreties["member"].Add(userDN);


    comme j'ai essayé de vous l'expliquer (je me suis pas forcement bien exprimé) je dois déplacer un utilisateur dans un ou plusieurs groupes et non pas créer un utilisateur a un groupe

  13. #13
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Et si tu fais simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DirectoryEntry LDAP = new DirectoryEntry("LDAP://"+groupDN, "Identifiant", "MotDePasse", AuthenticationTypes.Secure);

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    je viens de tester ce que tu m'as proposé, je m'en doutais mais je ne peux pas me connecter au serveur LDAP!

  15. #15
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Points : 713
    Points
    713
    Par défaut
    Et en faisant comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LDAP.Properties["member"].Add(User.Properties["Alix Dubois"].Value);
    EDIT: Autant pour moi pour ma grossière erreur , la propriété doit correspondre au nom de ton champs et non à son contenu...

  16. #16
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    toujours pas! la valeur de Alix Dubois est: null!

  17. #17
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Après plusieurs recherche et tests, le problème vient vraiment de "member", la propriété n'est pas présente dans les différents groupes ou utilisateurs que j'ai préalablement créer!

  18. #18
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Salut.

    Tu sembles mélanger plusieurs notions AD. Tu dis que tu veux ajouter des utilisateurs à des groupes, mais ce DN string groupDN = "OU=10001326,DC=otinfra,DC=local"; c'est le DN d'une OU ! Vérifie les objectClass de ton objet 10001326 et tu devrais constater qu'il n'y pas "group" mais plutôt "organizationalUnit" .

    Un groupe AD c'est identifié par un commonName, exemple string realGroupDN = "CN=myRealGroup,OU=10001326,DC=otinfra,DC=local";.

    Si tu jettes un œil à ton schéma AD, tu verras que l'attribut member n'est pas autorisé pour les OU mais seulement pour les groupes au sens strict.

    Précise donc ce que tu cherches à faire . Et d'ailleurs si tu jettes un coup d’œil attentif au lien fourni par Gurdil le nain, tu constateras que tout y est expliqué clairement.

  19. #19
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Merci! je dois confondre groupe et OU, ce que je désire faire c'est attribuer une ou plusieurs OU a un utilisateur. Cela fais 3 jours que je tourne en rond, je commence a désespérer.

  20. #20
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Citation Envoyé par tibreizh44 Voir le message
    Merci! je dois confondre groupe et OU, ce que je désire faire c'est attribuer une ou plusieurs OU a un utilisateur. Cela fais 3 jours que je tourne en rond, je commence a désespérer.
    OK donc ce que tu cherches à réaliser n'est pas possible . Un utilisateur ne peut "appartenir" (ici le terme peut prêter à confusion) qu'à une seule OU, car cela correspond à sa "localisation" dans l'annuaire, exemple :

    • DC=contoso,DC=com
      • OU=FRA
        • CN=userFR1
        • CN=userFR2

      • OU=USA
        • CN=userUSA1
        • CN=userUSA2



    Si tu veux qu'un utilisateur fasse partie de plusieurs éléments, il faut impérativement passer par des groupes (c'est-à-dire qu'il soit membre de plusieurs groupes), et l'attribut member qui est multivalué, exemple :

    • CN=usersAdminDeDomaine,OU=groups,DC=contoso,DC=com
      • member=CN=userFR1,OU=FRA,OU=groups,DC=contoso,DC=com
      • member=CN=userUSA2,OU=USA,OU=groups,DC=contoso,DC=com

    • CN=usersAyantAccesAuParking,OU=groups,DC=contoso,DC=com
      • member=CN=userFR1,OU=FRA,OU=groups,DC=contoso,DC=com
      • member=CN=userFR2,OU=FRA,OU=groups,DC=contoso,DC=com
      • member=CN=userUSA1,OU=USA,OU=groups,DC=contoso,DC=com


    Il faut donc que tu revois ton truc .

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [SP2010] Check autorisation utilisateur et groupes Active Directory
    Par James Dt dans le forum Développement Sharepoint
    Réponses: 4
    Dernier message: 10/02/2014, 10h31
  2. [Débutant] Ajout d'utilisateur dans un groupe Active directory en VB.Net
    Par vindkald dans le forum VB.NET
    Réponses: 4
    Dernier message: 29/03/2013, 10h24
  3. [Débutant] Lister les utilisateur d'un groupe ACTIVE DIRECTORY
    Par FromHell04 dans le forum VB.NET
    Réponses: 0
    Dernier message: 01/02/2012, 18h23
  4. Réponses: 0
    Dernier message: 09/05/2011, 15h30
  5. Réponses: 1
    Dernier message: 19/01/2006, 16h23

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