获取“用户无法更改密码”的替代选项.通过userAccountControl enum设置

本文关键字:选项 通过 userAccountControl 设置 enum 用户 密码 获取 | 更新日期: 2023-09-27 18:12:14

据我所知,在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;

获取“用户无法更改密码”的替代选项.通过userAccountControl enum设置

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