2014-07-09 1 views
0

Active Directory에서 "사용자가 암호를 변경할 수 없음"확인란을 설정하면 "userAccountControl"속성에 비트 0x40이 설정됩니다.userAccountControl enum을 통해 "사용자가 암호를 변경할 수 없습니다"가 아닌가요?

불행히도 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; 
+0

당신이이 테스트 코드를 제시해주십시오. – Ashigore

답변

관련 문제