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:
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 :
Citation:
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