Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Active directory 服务器不愿意通过C处理请求-Active Directory-添加用户#_Active Directory_Active Directory Group - Fatal编程技术网

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

Active directory 服务器不愿意通过C处理请求-Active Directory-添加用户#,active-directory,active-directory-group,Active Directory,Active Directory Group,我使用中的示例将用户添加到Active Directory组中,但在执行时出现异常消息“服务器不愿意处理请求” dirEntry.Properties[“member”].Add(userDn)这个问题花了我很多时间才解决。首先,错误消息看起来像一个笑话。第二,没有什么了,只有那个信息 不管怎样,我通过以下方式解决了这个问题: 确保userDn包含整个路径(例如,“LDAP://server address/CN=“+userDn+”,OU=optional,DC=your domain,DC=

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


dirEntry.Properties[“member”].Add(userDn)

这个问题花了我很多时间才解决。首先,错误消息看起来像一个笑话。第二,没有什么了,只有那个信息

不管怎样,我通过以下方式解决了这个问题:

  • 确保
    userDn
    包含整个路径(例如,
    “LDAP://server address/CN=“+userDn+”,OU=optional,DC=your domain,DC=com”
    。这实际上非常重要,如果不提供完整路径,它将从HRESULT:0x80005000引发异常

  • dirEntry.Properties[“member”].Add(userDn);
    替换为
    entry.Invoke(“Add”,新对象[]{userDn});


  • 然后我想删除一个用户,我希望
    entry.Invoke(“remove”,new object[]{userDn});
    可以工作。但是,只有使用小写“remove”时,这个邪恶的广告才会工作,所以
    entry.Invoke(“remove”,new object[]{userDn})
    对我有效。

    我遇到了一个类似的问题,当时我正试图向组中添加一个成员。特别是尝试向组中添加一个组时,得到了相同的有用错误“服务器不愿意处理请求”。OP提供的答案对我无效


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

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

    p.S.ent是组的DirectoryEntry对象

    请注意,因为
    .properties(“可分辨名称”)
    的开头可能不同于
    .properties(“cn”)
    。如果用户是使用
    属性(“cn”)中的
    创建的
    .properties(“可分辨名称”)
    的开头将是带有
    \、
    \;
    的用户名


    如果您试图添加通过使用
    .properties(“cn”)找到的用户,则会出现错误
    到一个组。

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

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

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

    我没有设置groupType,因此试图在全局组中嵌套一个通用组。在

    中查找有关groupType属性的详细信息,我还想添加对链接的引用。该链接对我很有帮助。@Mauricio我会要求您回答您自己的问题。因为这个问题很受欢迎,所以您可以回答。但是他发现它已被回答。因此,如果您可以自己回答它就好了。是的,当更新中请求的数据类型被拒绝时,始终会引发此错误。在您的情况下,组的类型,在我的情况下,另一个DN值错误。您可能使用了错误的搜索器类型。除非是,否则不需要使用完整的LDAP路径您没有使用LDAP类,而不是更高级别的DirectorySearcher和DirectoryEntry。当值的格式不可接受时,总是会引发此异常。我同意此消息很愚蠢,应该更改为验证异常,并明确指出哪个验证检查失败。也许您找到了解决方法直接地说,但我认为您的问题更多地是由搜索者/根条目的类型引起的(例如,有时您需要创建搜索者,该搜索者从全局目录生成您的条目,有时是DC,有时是域)。