[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:
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é";
}
}
} |
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:
DirEntry.Invoke("SetPassword", new object[] { TextBox5.Text });
Pourriez vous maider s'il vous plait?