Я пытаюсь изменить свойство пользователя внутри моего AD, используя следующий код С#:
DirectoryEntry root = new DirectoryEntry("LDAP://xxx/DC=xxx,DC=xx,DC=xx", "xxx", "xxx");
DirectorySearcher directorySearcher = new DirectorySearcher(root);
directorySearcher.Filter = "(&(objectclass=user)(|(cn=Users)(cn=user001)))";
SearchResult sResultSet = directorySearcher.FindOne();
string a = (GetProperty(sResultSet, "badPwdCount"));
DirectoryEntry ADuser = new DirectoryEntry(sResultSet.Path, "xxx", "xxx");
ADuser.Properties["badPwdCount"].Value = 3;
ADuser.CommitChanges();
ADuser.Close();
Я могу прочитать значение и просмотреть AD, но я не могу выполнить свои изменения. Каждый раз, когда я выполняю ADuser.CommitChanges();
Я получаю следующую ошибку:
System.DirectoryServices.DirectoryServicesCOMException: сервер не может обработать запрос.
Моя учетная запись является частью группы Domain Administrator, и у меня есть все права доступа. Что может быть ошибкой? Это проблема безопасности или совместимость с каркасом/сервером?
badPwdCount
- это специальное свойство, уникальное между контроллерами домена и не может быть вручную изменено никакими средствами.
Если вы хотите изменить это значение, потому что пользователи, где это значение NULL
, вызывают проблемы, см. Мой ответ здесь:
Свойство Active Directory "badPwdCount"
В противном случае вернемся к чертежной доске...