.NET 中 UserPrincipal 的主体扩展抛出 "Unwilling to process request" 错误

Principal Extension for UserPrincipal in .NET throwing an "Unwilling to process request" error

我正在尝试使用 VB.NET 可执行文件在 AD 中设置扩展属性的值。我扩展了 UserPrincipal class 来完成这个但是现在我得到一个错误

The server is unwilling to process the request

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

我可以从 AD 中的现有用户那里得到 属性 而没有任何错误,当我尝试在没有扩展 class 的情况下创建和保存用户时它有效。

        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)

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