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 "memberof" dans Active Direcory


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 11
    Points
    11
    Par défaut ajout "memberof" dans Active Direcory
    Bonjour tout le monde,

    j'ai créé un utilisateur dans AD sans problème, malheureusement, lorsque j'assaie d'y ajouter la ligne pour y ajouter le paramètre "memberof" il me dit:

    Le serveur ne souhaite pas traiter la requête...


    voici mon code jusqu'à présent:



    DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + Globales.ADLdapServer + "/OU=EtudiantsUser,OU=ETU,OU=Usagers,DC=rwin,DC=xxx,DC=yyy,DC=zzz", Globales.ADLdapLogin, Globales.ADLdapPassword, AuthenticationTypes.Secure);

    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
     
                    DirectoryEntry newUser = dirEntry.Children.Add("CN=0001111", "User");
                    newUser.Properties["samAccountName"].Value = "0001111";
     
                    newUser.Properties["givenname"].Add("prenom");
                    newUser.Properties["sn"].Add("Nom");
                    newUser.Properties["displayname"].Add("Nom Prenom");
                    newUser.Properties["userprincipalname"].Add("0001111@rwin.xxx.yyy.zzz");
                    newUser.Properties["title"].Add("Etudiant");
                    newUser.Properties["homedrive"].Add("U:");
                    newUser.Properties["homedirectory"].Add(@"\\fserver\xxx\etudiant\0001111");
     
     
                    string qwerty = @"CN=ETUDIANT,OU=Campus B,OU=Departements/Programmes,OU=GROUPES ROLES,OU=Usagers,DC=rwin,DC=xxx,DC=yyy,DC=zzz";
     
                    newUser.Properties["memberof"].Add(qwerty);
     
                    newUser.CommitChanges();
                    dirEntry.Close();
                    newUser.Close();

    Si j'omet la ligne : newUser.Properties["memberof"].Add(qwerty);
    tout fonctionne et en alland dans l'outils administratif de AD, je peux ajouter manuellement le même paramètre dans l'onglet "memberof", donc mes groupes sont ok...

    ps: auparavant, j'utilisait la commande shell DSADD et tout fonctionnait...


    votre aide serait apprécié

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Problème de OU dans active directory
    Salut tout le monde....

    j'ai finalement trouver ma réponse... il faut créer le User et ensuite ajouter le user au groupe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ---(code pour ajouter le user)---
    newUser.CommitChanges();
     
    dirEntry = new DirectoryEntry("LDAP://" + [serveur]+ "/OU=xxx,OU=xxx,DC=rwin,DC=xxx,DC=yyy,DC=zzz", Globales.ADLdapLogin, Globales.ADLdapPassword, AuthenticationTypes.Secure);
     
    DirectoryEntry objGrp = dirEntry.Children.Find("CN=[nomgroupe]", "Group");
    objGrp.Invoke("Add", new object[] { newUser.Path.ToString() });

    J'ai testé le user ainsi créé et le [memberof] est ainsi attribué correctement..

    le seul problème qu'il me reste à résoudre est que un des OU en question possède un slash [Departement/Programme]....

    j'ai essayé d'y accèder avec un escape character [\/] ou bien en varible littérale [@"Departement/Programme"].. mais rien à faire... je ne peux accéder à ce OU pour y ajouter mon user

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Re-bonjour tout le monde,

    C'est fou quelques fois ce qu'une nuit de sommeil peut faire

    j'ai trouvé la réponse à ma dernière énigme de [slash] dans le OU...

    Ce qui se passe c'est que pour AD, le [slash] a besoin d'un escape code...
    mais C# ne reconnait pas le [slash] comme en ayant besoin d'un...

    voici donc la solution:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string path = "LDAP://" + ADLdapServer + "/" + "OU=Departements/Programmes,OU=Usagers,DC=rwin,DC=xxx,DC=yyy,DC=zzz".Replace("/", "\\/");
     
    DirectoryEntry dirEntry = new DirectoryEntry(path, ADLdapLogin, ADLdapPassword, AuthenticationTypes.Secure);

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/11/2009, 14h15
  2. Ajout d'une quote (') dans une chaine de caractère
    Par moutu91 dans le forum Débuter
    Réponses: 2
    Dernier message: 19/01/2009, 11h58

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