0

据我所知,在 Active Directory 中设置复选框“用户无法更改密码”应该会导致属性“userAccountControl”设置位 0x40。

不幸的是,当我在 Windows Server 2012 R2 上对此进行测试时,由于某种原因,该位未设置。

还有其他方法吗?确定用户是否可以更改其密码?还是有一些条件/限制可以解释这种神秘的效果?

我正在使用 c# .NET 2.0

public enum EUserAccountControl : int
{
    //SNIP
    PASSWORD_CANT_CHANGE =              0x00000040,
    //SNIP
}

// SNIP

DirectorySearcher srch = new DirectorySearcher(searchRoot);
srch.Filter = "(SAMAccountName=" + accountName + ")";
var result = srch.FindOne();
var entry = result.GetDirectoryEntry();
return ((EUserAccountControl)entry.Properties["userAccountControl"].Value & EUserAccountControl.PASSWORD_CANT_CHANGE) == 0;
4

1 回答 1

0

您不能通过 UAC 设置此属性... http://support.microsoft.com/kb/305144

于 2014-08-12T01:10:05.903 回答