Сервер не желает обрабатывать запрос-Active Directory-Добавить пользователя через C#
я использовал пример в на этой странице добавить пользователей в группу Active Directory, но я получаю исключение с сообщением "сервер не склонен обработать запрос" при выполнении
dirEntry.Properties["member"].Add(userDn);
3 ответов
У меня была аналогичная проблема, когда я пытался добавить члена в группу. В частности, попытка добавить группу в группу и получить ту же полезную ошибку "сервер не хочет обрабатывать запрос" ответ, предоставленный OP, не работал для меня.
для меня причина, по которой я не смог добавить группу в свою группу, заключалась в том, что группа, в которую я пытался добавить членов, была "глобальной" группой, тогда как она должна была быть "универсальной" группой. Надеюсь, это поможет кто-то.
этот вопрос занял у меня много времени, чтобы решить. Во-первых, сообщение об ошибке выглядит как шутка. Во-вторых, нет ничего больше, только это сообщение.
в любом случае, мне удалось исправить это:
убедившись, что
userDn
содержит весь путь (например,"LDAP://server-address/CN=" + userDn + ",OU=optional,DC=your-domain,DC=com"
. Это на самом деле очень важно, если вы не поставите полный путь, он бросит исключение из HRESULT: 0x80005000.замена
dirEntry.Properties["member"].Add(userDn);
byentry.Invoke("Add", new object[] { userDn });
затем я хотел удалить пользователя, и я ожидал entry.Invoke("Remove", new object[] { userDn });
на работу. Однако это дьявольское объявление будет работать, только если вы используете нижний регистр "удалить", так что entry.Invoke("remove", new object[] { userDn });
работал для меня.
после многих дней поиска я нахожу проблему. при добавлении пользователя в группу необходимо задать "различающееся имя", а не путь LDAP.
вы должны написать так:
ent.Properties["member"].Add("CN=YourUserName,OU=optional,DC=yourdomain,DC=com");
Это неправильный код:
ent.Properties["member"].Add("LDAP://CN=YourUserName,OU=optional,DC=yourdomain,DC=com");
кроме того, когда вы удалите мачту, чтобы сохранить это правило
ent.Properties["member"].Remove("CN=YourUserName,OU=optional,DC=yourdomain,DC=com");
П. С. ent is DirectoryEntry