服务器不愿意处理请求 - Active Directory - 通过C#添加用户

Mau*_*lho 10 active-directory active-directory-group

我使用此页面中的示例将用户添加到Active Directory组,但在执行时出现"服务器不愿意处理请求"消息的异常

dirEntry.Properties["member"].Add(userDn);

Ju6*_*aut 5

我在尝试将成员添加到组中时遇到了类似的问题。具体来说,尝试将组添加到组中并得到相同的有用错误“服务器不愿意处理请求”。OP提供的答案对我不起作用。

对我来说,之所以无法将组添加到组中,是因为我试图向其添加成员的组是一个“全局”范围的组,而它需要是一个“通用”范围的组。希望这对某人有帮助。


Mau*_*lho 3

这个问题花了我很多时间才解决。首先,错误消息看起来像一个笑话。其次,没有别的了,只有那条消息。

无论如何,我设法通过以下方式修复它:

  1. 确保userDn包含整个路径(例如,"LDAP://server-address/CN=" + userDn + ",OU=optional,DC=your-domain,DC=com"。这实际上非常重要,如果您不提供完整路径,它将抛出HRESULT: 0x80005000 异常

  2. 替换dirEntry.Properties["member"].Add(userDn);entry.Invoke("Add", new object[] { userDn });

然后我想删除一个用户并且我希望entry.Invoke("Remove", new object[] { userDn });能够工作。然而,这个邪恶的广告只有在你使用小写的“remove”时才会起作用,所以entry.Invoke("remove", new object[] { userDn });对我有用。