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:
Voila mon probleme est qu'une exception est levée au moment du deboggage dont le message est le 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
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 à lutilisateur 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 lutilisateur 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é"; } } }
"une exception a été levée par la cible d'un appel"
et l'erreur provient de la ligne :
Pourriez vous maider s'il vous plait?
Code : Sélectionner tout - Visualiser dans une fenêtre à part DirEntry.Invoke("SetPassword", new object[] { TextBox5.Text });
Partager