public static ADUserInformation GetADUserInformation(User user) { var login = user.Login; var result = new ADUserInformation { LastLogOnDate = user.Logs != null ? user.Logs.LastLogon : null, Logs = user.Logs }; try { result.Login = login; result.IsLoginExists = IsLoginExists(login); if (result.IsLoginExists) { result.BadPasswordDate = GetBadPasswordDate(login); result.DisabledInAd = IsDisabled(login); result.IsLocked = IsLocked(login); result.CalculateLastLogon(GetLastLogOnDate(login)); result.LastPasswordChange = GetLastPasswordChange(login); result.DisabledInAd = IsDisabled(login); } return(result); } catch (Exception) { return(result); } }
private static ADUserInformation GetInformationBySearchResult(SearchResult searchResult) { var tempResult = new ADUserInformation(); if (searchResult == null) { return(null); } tempResult.IsLoginExists = true; tempResult.Login = searchResult.Properties["sAMAccountName"][0].ToString(); var directoryEntry = searchResult.GetDirectoryEntry(); tempResult.IsLocked = Convert.ToBoolean(directoryEntry.InvokeGet("IsAccountLocked")); tempResult.DisabledInAd = Convert.ToBoolean(directoryEntry.InvokeGet("AccountDisabled")); return(tempResult); }