【发布时间】:2019-06-28 10:46:07
【问题描述】:
我无法理解为什么在活动目录中将组创建为 groupType 的“本地”不起作用。它抛出以下异常:
System.DirectoryServices.DirectoryServicesCOMException (0x80072035): The server is unwilling to process the request.
以下是代码示例:
var parentEntry = new DirectoryEntry(ParentContainer);
var groupToCreate = parentEntry.Children.Add(this.AttributeType + this.Name, "group");
groupToCreate.Properties["description"].Add(this.Description);
groupToCreate.Properties["displayName"].Add(Name);
groupToCreate.Properties["groupType"].Add((int)GroupType.DomainLocalGroup); --> this line throws error.
groupToCreate.CommitChanges();
如果我从 GroupType.DomainLocalGroup 更改为 GroupType.DomainGlobalGroup,一切正常。 任何机构都可以告诉我如何解决这个问题吗?
【问题讨论】:
-
因为异常消息说“服务器不愿意处理请求” 我怀疑AD服务器由于某些安全限制而不愿意处理这个请求。你检查你是否有足够的权限来调用这个请求?
-
当然,如果我用 GroupType.DomainGlobalGroup 替换它,它可以完美运行,没有任何异常。 Mroeover,我从 Microsoft 全新安装了 Windows 2016 服务器映像并设置了我的 AD 角色。所以一切都是默认的。正如我所说,它与 DomainGlobalGroup 完美配合。
-
服务器不愿意处理请求。啊,我最喜欢的错误信息。写这部分代码的人应该受到惩罚!您是否尝试在该容器中手动创建该组,例如通过 ADUC?具有完全相同的属性?那样有用吗?本地组和全局组的属性有区别吗?
-
@Ocaso Protal:感谢您指导我。是的,它允许您在创建组时。但是当它已经创建时,您在创建时选择的选项会变得模糊(例如,您创建为“本地”类型,这将是模糊的),而其他选项(例如全局、通用)将被启用。当您通过 Windows 服务器上的 Active Directory Gui 手动创建组时,我正在说话
-
对不起,我不能再帮你了,但根据我的记忆(上次我做一些广告编程是在 3 年前)这种错误意味着可能(!!!!!! ) 要么一个属性是错误的,要么是缺少某些东西。我真的很讨厌那个错误信息。玩得开心! ;)
标签: c# active-directory ldap distinguishedname