Bonjour à tous,

j'essaye pour le moment de modifier un password d'un compte AD. Malheureusement lorsque je désire modifier le password, j'ai une erreur HRESULT qui apparaît.

Voici la partie du code qui permet de changer le password, il plante au niveau de l'invoke / CommitChange.

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
 
                    try
                    {
                        DirectoryEntry ldap = new DirectoryEntry("LDAP://" + _domainBox, _accountBox.Text, _oldPasswordBox.Text);
                        DirectorySearcher searcher = new DirectorySearcher(ldap);
 
                        // Retrieves the logged user.
                        string[] tmp = _accountBox.Text.Split('\\');
                        searcher.Filter = "(SAMAccountName=" + tmp[tmp.Length - 1] + ")";
                        SearchResult result = searcher.FindOne();
                        DirectoryEntry entry = result.GetDirectoryEntry();
 
                        entry.Options.SecurityMasks = SecurityMasks.Dacl;
 
                        entry.Invoke("ChangePassword", new object[] { _oldPasswordBox.Text, _newPasswordBox.Text });
                        entry.CommitChanges();
                        _resultLabel.Style.Add(HtmlTextWriterStyle.Color, "blue");
                        _resultLabel.Text = "Change done.";
                    }
                    catch (DirectoryServicesCOMException COMEx)
                    {
                        _resultLabel.Style.Add(HtmlTextWriterStyle.Color, "red");
                        _resultLabel.Text = COMEx.Message;
                    }
                    catch (TargetInvocationException targetException)
                    {
                        _resultLabel.Style.Add(HtmlTextWriterStyle.Color, "red");
                        _resultLabel.Text = targetException.InnerException.Message;
                    }
Et voilà l'exception que je retrouve:

A constraint violation occurred. (Exception from HRESULT: 0x8007202F)
Si qqn voit qqch que j'ai oublié, merci d'avance