0

Active Directoryで「ユーザーはパスワードを変更できません」チェックボックスを設定することができた限り、ビット0x40が設定されたプロパティ「userAccountControl」が発生するはずです。

残念ながら、これを 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