13

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

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

4

6 回答 6

7

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

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

于 2015-08-28T16:46:03.243 回答
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 });对我有用。

于 2015-08-05T12:30:55.390 回答
1

当我的路径与林域名不匹配时,我收到此一般错误消息。例如,如果我的森林域名是ad.example.com,并且我正在尝试创建一个组,CN=Users,DC=example,DC=net其中一个具有 .com 另一个具有 .net 的路径 - 他们不排队。我需要更正我的组以匹配。我的组路径应该是CN=Users,DC=example,DC=com.

于 2020-01-01T23:18:07.250 回答
1

ldapwiki.com描述了“服务器不愿意处理请求”的潜在原因。检查异常的ExtendedErrorMessage属性以确定适用的内容。在我的情况下,“00002145:SvcErr:DSID-031A1254,问题 5003 (WILL_NOT_PERFORM)”。以下行解决了该问题:

ent.Properties["groupType"].Value = 8;

我错过了设置groupType,因此试图在全局组中嵌套一个通用组。在ldapwiki.com中查找有关 groupType 属性的更多信息

于 2020-02-18T12:30:10.123 回答
0

请注意,因为 的开头.properties("distinguished Name")可能与.properties("cn"). 如果用户是用,;在 中创建的,则以或.properties("cn")开头的.properties("distinguished Name")用户名。\,\;

如果您尝试将通过使用找到的用户添加.properties("cn")到组中,这可能会出错。

于 2019-06-14T12:09:32.850 回答
-1

经过几天的搜索,我发现了问题。当您在组中添加用户时,您必须设置“可分辨名称”而不是 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");

PS ent是组的DirectoryEntry对象

于 2018-05-31T07:40:12.247 回答