none
Probleme annuaire AD RRS feed

  • Question

  • Bonjour,

    C'est mon premier programme en VB.net (langage que je découvre). Je suis entrain de faire un programme afin de modifier l'annuaire AD de mon entreprise (job étudiant). A premiere vue le programme est bon, car quelques personne de la DSI l'ont regardé. Mais eux aussi ne comprenne pas le probleme. Avant de vous expliquer le probleme je vous montre le code

    Module Module1
    
        Sub main()<br/>        Dim Ldap As DirectoryEntry = New DirectoryEntry("<a href="" rel="nofollow">LDAP://nom</a> de l'ad", login", "mot de passe") <br/>        Dim searcher As DirectorySearcher = New DirectorySearcher((Ldap))<br/>        searcher.Filter = "sAMAccoutName"<br/>        For Each result As SearchResult In searcher.FindAll<br/>            Dim DirEntry As DirectoryEntry = result.GetDirectoryEntry()<br/>            DirEntry.Properties("Fonction").Value = ""  <br/>            DirEntry.Properties("Service").Value = ""<br/>            DirEntry.Properties("Société").Value = ""<br/>            DirEntry.Properties("Téléphone").Value = ""<br/>            DirEntry.Properties("Portable").Value = ""<br/>            DirEntry.Properties("Fax").Value = ""<br/>            DirEntry.Properties("Mail").Value = ""<br/>            DirEntry.CommitChanges() <br/>        Next<br/>    End Sub<br/>End Module
    

    Donc le probleme c'est, quand je lance le programme (console application), il m'indique que j'ai une erreur au niveau de cette ligne:

    DirEntry.CommitChanges()
    

    et d'autre fois il m'indique que cette ligne est aussi une erreur :

    For Each result As SearchResult In searcher.FindAll
    

    En suite il m'indique que :

    L'Exception.DirectoryServicesCOMException n'a pas été gérée:
    L'Attribut ou la valeur de service d'annuaire spécifié n'existe pas. (L'Exception de HRESULT: 0x8007200A)

    et dans le fenetre d'execution il me met

    Une exception de première chance de type 'System.DirectoryServices.DirectoryServicesCOMException' s'est produite dans System.DirectoryServices.dll

    Le fichier est enregistrer en VB (peut être que c'est le probleme) sinon je vois pas.

    Merci par avance.

    Reiiji

    jeudi 21 juillet 2011 10:37

Réponses

  • Salut,

    je viens de changer les attributs, mais cela ne change pas mon erreur dans le sens ou la ligne For Each result As SearchResult In searcher.FindAll et il me m'indique toujours le même message d'erreur: L'exeception COMException n'a pas été gérée et l'Erreur inconnue (0x80005000)


    • Modifié Reiiji jeudi 21 juillet 2011 13:13
    • Marqué comme réponse Reiiji mardi 26 juillet 2011 12:26
    jeudi 21 juillet 2011 12:32

Toutes les réponses

  • Bonjour,

    Il me semble que cela soit une erreur d'attribut.

    Si je ne me trompe pas :

    Fonction est à remplacer par title

    Service est à remplacer par department

    Société par company

    Téléphone par TelephoneNumber

    Portable par mobile

    pour mail cela semble être bon.

    Par contre aucune idée pour le champs fax.

     

     

     


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    • Marqué comme réponse Reiiji jeudi 21 juillet 2011 13:29
    • Non marqué comme réponse Reiiji jeudi 21 juillet 2011 13:29
    jeudi 21 juillet 2011 12:16
  • Salut,

    je viens de changer les attributs, mais cela ne change pas mon erreur dans le sens ou la ligne For Each result As SearchResult In searcher.FindAll et il me m'indique toujours le même message d'erreur: L'exeception COMException n'a pas été gérée et l'Erreur inconnue (0x80005000)


    • Modifié Reiiji jeudi 21 juillet 2011 13:13
    • Marqué comme réponse Reiiji mardi 26 juillet 2011 12:26
    jeudi 21 juillet 2011 12:32
  • Et si vous mettez à la place de

    searcher.Filter = "sAMAccoutName"

    searcher.Filter = "(objectClass=user)"


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    jeudi 21 juillet 2011 13:01
  • Viens de changer la ligne searcher.Filter. Mais comme depuis le début, cela me mets la même erreur sur For Each result As SearchResult In searcher.FindAll et il me m'indique toujours le même message d'erreur: L'exeception COMException n'a pas été gérée et l'Erreur inconnue (0x80005000).

    Je me demandais si j'enregistre en vb cela change rien au vb.net? (je commence tout juste le vb)


    jeudi 21 juillet 2011 13:31
  • La je vois pas trop d'ou cela peut venir.

    Sinon en C# searcher.FindAll() est une méthode, pas en VB ?

    Si c'est une méthode il vous manque les parenthèses, mais je doute que cela vienne de ça, sinon vous ne pourriez pas compiler.


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    jeudi 21 juillet 2011 13:45
  • Ok, je te remercie de ton aide Pascal.

    J'ai vu avec le chef de la DSI pour mon probleme, au final il m'a dis d'abander par cette manip et que je vais allez directement me connecter sur l'AD et modifier par un petit fichier csv afin de modifier tout le monde en même temps

    jeudi 21 juillet 2011 14:14