.NET中UserPrincipal的主体扩展抛出“不愿意处理请求”错误

时间:2018-10-08 19:54:12

标签: .net vb.net active-directory userprincipal principalcontext

我正在尝试使用VB.NET可执行文件在AD中设置扩展属性的值。我扩展了UserPrincipal类来完成此操作,但是现在出现错误

  

服务器不愿意处理请求

当我尝试设置扩展属性时。

我可以从AD中的现有用户那里获得该属性,而不会出现任何错误,并且当我尝试创建和保存没有扩展类的用户时,它会起作用。

        Dim stringDomainName As String = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName
        Dim objPrincipalContext As New PrincipalContext(ContextType.Domain, stringDomainName, DirectoryPath, ContextOptions.SimpleBind, DomainUsername, DomainPassword)
        Dim objUserPrincipal As New UPExtention(objPrincipalContext, sUserName, sPassword, True)

        Dim expDate As Date

        'Set Name
        objUserPrincipal.Name = sFirstName & " " & sLastName
        'Set First Name
        objUserPrincipal.GivenName = sFirstName
        'Set Last Name
        objUserPrincipal.Surname = sLastName
        'Set Display Name
        objUserPrincipal.DisplayName = sLastName & ", " & sFirstName
        'Enable Account
        objUserPrincipal.Enabled = True
        objUserPrincipal.extentionAttribute15 = sUserName

        'Save the created user
        objUserPrincipal.Save(objPrincipalContext)

1 个答案:

答案 0 :(得分:0)

我不确定100%导致错误的原因,但是我回到了使用未扩展的UserPrincipal类创建初始对象并保存它而未设置扩展属性的情况。然后,我创建了扩展UserPrincipal的对象,并使用重载的FindByIdentity函数获取刚创建的用户,然后设置扩展属性并再次保存。现在可以了!