2011-08-10 13 views
1

lockoutTime属性を0に設定して、ADでユーザーアカウントのロックを解除します。問題は、プロパティの値がSystem_ComObjectであることです。属性の値をゼロに設定するにはどうすればよいですか?私はlockOutの値を取得するために次のコードを使用しましたlockoutTimeを使用してAD内のユーザーアカウントをロック解除する方法

DirectoryEntry user = DirectoryEntry(DistinguishedName);

//user.Properties["lockoutTime"].Valueが

長いfileTicks = LongFromLargeInteger(user.Properties [ "lockoutTimeの"]の値。)System_Comオブジェクトです。

プライベートロングLongFromLargeInteger(オブジェクトlargeInteger)

{

のSystem.Type型= largeInteger.GetType()。

type = largeInteger.GetType();

int highPart =(int)type.InvokeMember( "HighPart"、BindingFlags.GetProperty、null、largeInteger、null);

INT lowPart =(INT)type.InvokeMember( "LowPart"、BindingFlags.GetProperty、ヌル、largeInteger、ヌル

)。

return(long)highPart < < 32 | (uint)lowPart;

}

答えて

4

すべてを行う必要がこれです:

user.Propertise["lockoutTime"].Value = 0; 
user.CommitChanges() 
+0

私は、このリンクに出くわします。http://en.csharp-online.net/User_Management_with_Active_Directory%E2%80%94Determining_Account_Lockout – KSM

関連する問題