C# 无法从c代码更改AD密码,引发异常
我对更改用户AD密码的c#脚本有问题,当尝试更改密码时,他们抛出异常C# 无法从c代码更改AD密码,引发异常,c#,.net,active-directory,ldap,C#,.net,Active Directory,Ldap,我对更改用户AD密码的c#脚本有问题,当尝试更改密码时,他们抛出异常 A constraint violation occurred. (Exception from HRESULT: 0x8007202F) 代码 哪一个可能是问题?看这里: 对于您的示例,它将如下所示: using (var context = new PrincipalContext(ContextType.Domain,"domain.com")) using (var user = UserPrincipal.Find
A constraint violation occurred. (Exception from HRESULT: 0x8007202F)
代码
哪一个可能是问题?看这里:
对于您的示例,它将如下所示:
using (var context = new PrincipalContext(ContextType.Domain,"domain.com"))
using (var user = UserPrincipal.FindByIdentity( context, IdentityType.SamAccountName,
strLoginName ))
{
user.ChangePassword( oldPassword, newpassword );
}
我希望这能有所帮助。请看这里:
对于您的示例,它将如下所示:
using (var context = new PrincipalContext(ContextType.Domain,"domain.com"))
using (var user = UserPrincipal.FindByIdentity( context, IdentityType.SamAccountName,
strLoginName ))
{
user.ChangePassword( oldPassword, newpassword );
}
我希望这会有所帮助。听起来active directory的密码复杂度要求不符合新密码的要求。我尝试了一个复杂的密码,但它不起作用。听起来active directory的密码复杂度要求不符合新密码的要求。我尝试了一个复杂的密码,但它不起作用。我相信您的问题在于将数组传递给单个值属性。此外,您正在查询SamAccountName,但使用FindAll而不是FindOne。如果您有多个用户具有相同的SamAccountName,那么除了0x8007202F异常之外,您还有更多的麻烦。我相信您的问题在于将数组传递给单个值属性。此外,您正在查询SamAccountName,但使用FindAll而不是FindOne。如果您有多个用户具有相同的SamAccountName,那么除了0x8007202F异常之外,您还有更多的麻烦。。。