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 :

[C# 2.0/AD] Comment utiliser la méthode Invoke sur DirectoryEntry ?


Sujet :

C#

  1. #1
    Membre habitué Avatar de Sodangbe
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 171
    Points : 145
    Points
    145
    Par défaut [C# 2.0/AD] Comment utiliser la méthode Invoke sur DirectoryEntry ?
    Bonjour ,
    Je me suis inspiré d'un projet pour ecrire une application web mobile qui permet de modifier le mot de passe d'un user dans active directory.

    Voici le code qui me permet de changer le mot de passe:
    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
     
     protected void Command2_Click(object sender, EventArgs e)
        {   
            if(CompareValidator2.IsValid && CustomValidator1.IsValid &&
      RequiredFieldValidator3.IsValid && CustomValidator2.IsValid)
             {
                 try
                 {
                     //Liaison à l’utilisateur administrateur membre du domaine
     mondomaine.com
     
                     DirectoryEntry entry = new DirectoryEntry
    ("LDAP://nomdedomaine de ma société", "compteadministrateur",
     "motdepasseadministrateur");
     
                     // Nouvel objet pour instancier la recherche
                     DirectorySearcher searcher = new DirectorySearcher(entry);
     
                     // On modifie le filtre pour ne chercher que l'user dont le nom
     de login est dans textbox1
                     searcher.Filter = "(SAMAccountName=" + TextBox1.Text
     + ")";
     
                     // Pas de boucle foreach car on ne cherche qu'un user
                     SearchResult result = searcher.FindOne();
     
                     // On récupère l'objet trouvé lors de la recherche
                     DirectoryEntry DirEntry = result.GetDirectoryEntry();
     
                     //Modification du mot de passe de l’utilisateur 
     
                     DirEntry.Invoke("SetPassword", new object[]
     { TextBox5.Text });
     
                     //Destruction des objets 
                     entry.Dispose();
                     this.ActiveForm = Form4;
                 }
                 catch (Exception ex)
                 {
                     CompareValidator2.IsValid = false;
                     CompareValidator2.ErrorMessage = "Votre mot de passe n'a
     pas pu etre changé";
     
                 }
            }
        }
    Voila mon probleme est qu'une exception est levée au moment du deboggage dont le message est le suivant:
    "une exception a été levée par la cible d'un appel"
    et l'erreur provient de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DirEntry.Invoke("SetPassword", new object[] { TextBox5.Text });
    Pourriez vous maider s'il vous plait?

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Le souci c'est que je ne connais pas de méthode nommée SetPassword pour un DirectoryEntry
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre habitué Avatar de Sodangbe
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 171
    Points : 145
    Points
    145
    Par défaut
    Voici un lien qui te l'explicitera mieux!
    http://www.supinfo-projects.com/fr/2...%5Fnet%5Ffr/3/

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ne serait-il pas plus simple d'agir directement sur la Propriété DirectoryEntry.Password
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Sodangbe
    Voici un lien qui te l'explicitera mieux!
    http://www.supinfo-projects.com/fr/2...%5Fnet%5Ffr/3/
    Ben ils n'ont pas dû tester car la seule méthode publique est nommée en fait set_Password et de plus c'est le setter de la propriété que je t'ai cité au dessus
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  6. #6
    Membre habitué Avatar de Sodangbe
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 171
    Points : 145
    Points
    145
    Par défaut
    D'accord,mais quelle métode doit etre évoquer sur la propriété password pour la modifier?Si je dois suivre votre conseil?

  7. #7
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut
    Il y a un moment j'ai fait ça

    <--Ici-->

    ça peu aider non ?
    @+

  8. #8
    Membre habitué Avatar de Sodangbe
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 171
    Points : 145
    Points
    145
    Par défaut
    Il y a un moment j'ai fait ça

    http://www.troxsa.info/index.php?opt...id=21&Itemid=2

    ça peu aider non ?
    Ok merci beaucoup

    j'avais un autre probleme aussi avec mes cartes réseaux!!!!

  9. #9
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut
    Carte reseau ?
    Quel genre de probleme ?

    Il y a aussi les invoke (methode) des class wmi qui fonctionne bien aussi
    il y a aussi plusieurs exemples sur mon site !
    <--Ici-->
    <--WMI-->

    @+

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

Discussions similaires

  1. OO comment utiliser une méthode interne
    Par Jasmine80 dans le forum Bioinformatique
    Réponses: 2
    Dernier message: 02/09/2009, 08h28
  2. comment utiliser la méthode startService()
    Par d_hazem dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 17/12/2008, 10h22
  3. [POO] Comment utiliser la méthode isValid d'un DateField
    Par alicia1984 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 30/07/2008, 14h33
  4. Réponses: 1
    Dernier message: 24/10/2007, 11h01
  5. Réponses: 0
    Dernier message: 26/09/2007, 16h08

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