Bonjour à tous,
comme le titre l'indique, j'aimerai changer le mot de passe AD via du code C#. J'ai beau faire toutes les recherches possible sur le net, j'ai essayé tout ce que j'ai trouvé, et ca ne marche pas. Je me dis que j'oublie peut etre quelque chose, donc si quelqu'un pouvait y jeter un coup d'oeil, ca m'aiderait bien.
Voici mon code :
Et donc bien entendu, ca passe dans le catch avec ca comme message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 try { DirectoryEntry users = new DirectoryEntry(ConfigurationManager.ConnectionStrings["activeDirectory"].ConnectionString, "login", "password", AuthenticationTypes.Secure); users.Invoke("ChangePassword", new object[] { password }); users.CommitChanges(); users.Close(); } catch(Exception ex) { Console.WriteLine(ex); }
"System.Runtime.InteropServices.COMException (0x80020006): Nom inconnu. (Exception de HRESULT : 0x80020006 (DISP_E_UNKNOWNNAME))" sur la ligne "users.Invoke("ChangePassword", new object[] { password });"
La connexion à AD se fait bien, j'ai tester ce code, et ca marche bien, mais c'est le changement qui marche pas. A savoir que j'ai également essayé avec SetPassword, ou en mettant AncienPassword,Password dans le new Object, mais rien n'y fait, il n'y a rien qui passe. Si quelqu'un pouvait donc m'aider !
Ah oui, la variable password existe bien et n'est pas nulle.
Merci d'avance
Partager