J'essaie d'ajouter une propriété/attribut à une entrée utilisateur dans Active Directory. Je n'ai aucun problème à mettre à jour les valeurs de propriété en utilisant le code suivant.Active Directory Ajout de propriétés utilisateur
string LDAPString = "LDAP://DC=oc,DC=edu";
DirectoryEntry ou = new DirectoryEntry(LDAPString, "fakeUsername", "password");
DirectorySearcher searcher = new DirectorySearcher(ou);
searcher.Filter = "sAMAccountName=" + username;
SearchResult result = searcher.FindOne();
DirectoryEntry user = new DirectoryEntry(result.Path, "fakeUsername", "password");
user.Properties[propertyName].Value = propertyValue;
user.CommitChanges();
user.Dispose();
Cependant lorsque je tente d'ajouter un nouvel élément et appelez CommitChanges()
il génère une erreur:
The specified directory service attribute or value does not exist.
Le ExtendedErrorMessage dit le texte suivant:
00000057: LdapErr: DSID-0C090B8A, comment: Error in attribute conversion operation, data 0, v1db1
string propertyName = "test";
string propertyValue = "testValue";
user.Properties[propertyName].Add(propertyValue);
user.CommitChanges();
J'ai Je sens qu'il me manque quelque chose de simple mais je n'arrive pas à le comprendre.
Cette nouvelle propriété a-t-elle été définie dans Active Directory? Avez-vous étendu le schéma AD? Vous ne pouvez pas définir de nouvelles propriétés arbitraires dans AD ... –