IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Active Directory création d'utilisateur : COMException


Sujet :

VB.NET

  1. #1
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut Active Directory création d'utilisateur : COMException
    Bonjour bonjour,

    Je rencontre un soucis pour créer des comptes dans l'AD avec .Net.
    En fait j'aimerais créer un compte à partir de compte "type" pour avoir les bonnes propriétés et modifier simplement quelques propriétés pour le nouveau compte (nom, login, description...)

    Voici mon code :
    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
    Dim Ldap As DirectoryEntry = New DirectoryEntry(ConfigurationManager.AppSettings("domainName"), ConfigurationManager.AppSettings("domainLog"), ConfigurationManager.AppSettings("domainPswd")) 'Récupération de l'AD
     
    'Récupération du compte type
    Dim searcher As DirectorySearcher = New DirectorySearcher(Ldap)
    searcher.Filter = "(objectClass=user)"
    searcher.Filter = "(SAMAccountName=" & ConfigurationManager.AppSettings("baseAccountPrefix") & acc.Service & "_rec)"
    Dim result As SearchResult = searcher.FindOne()
    Dim DirEntry As DirectoryEntry = result.GetDirectoryEntry()
     
    Dim newDirEntry As DirectoryEntry = Ldap.Children.Add("cn=" & acc.Login.ToLower, "user") 
     
    'Ici je copie toutes les propriétés de mon compte type dans le nouveau compte
    For Each propName As String In DirEntry.Properties.PropertyNames
         For Each proValue As Object In DirEntry.Properties(propName)
              If newDirEntry.Properties.Contains(propName) Then
                  newDirEntry.Properties(propName).Value = proValue
              Else
                  newDirEntry.Properties(propName).Add(proValue)
              End If
         Next
    Next
     
    'J'assigne les nouvelles valeurs dans les bonnes propriétés
    newDirEntry.Properties("SAMAccountName").Value = acc.Login
    newDirEntry.Properties("sn").Value = acc.LastName
    newDirEntry.Properties("givenName").Value = acc.FirstName
    newDirEntry.Properties("description").Value = acc.Description
     
    newDirEntry.CommitChanges()
    Pour moi c'était pas mal, mais sur le CommitChanges (pour enregistrer le compte donc), il me pète une exception du type DirectoryServicesCOMException avec le message suivant :
    The server is unwilling to process the request.
    J'ai cherché pas mal sur le net, mais rien trouvé de satisfaisant...

    Merci d'avance.
    Gurdil

  2. #2
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Bon ba je faisais de la merde, la boucle pour copier les propriétés les prenaient toutes (forcément), et donc aussi des propriétés créées par l'AD donc qu'il ne comprenait pas...

    Bref, it works!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/11/2007, 09h29
  2. Active Directory - Copie d'utilisateur
    Par Magootiere dans le forum VB.NET
    Réponses: 3
    Dernier message: 30/10/2007, 10h13
  3. Réponses: 3
    Dernier message: 17/10/2007, 10h14
  4. Active Directory : Supprimer un utilisateur
    Par marcusien dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/09/2007, 18h02
  5. [Active Directory] Création de comptes utilisateurs depuis un script (PHP)
    Par Hervé Saladin dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 24/07/2007, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo