/// <summary> /// /// </summary> /// <param name="userName"></param> /// <param name="mustChange"></param> /// <param name="domain"></param> public static void User_MustChangePasswordNextLogon(string userName, bool mustChange, string domain) { if (Common.mustChangedNextLogon == false) { return; } ADWrapper ad = new ADWrapper(domain, Common.CnnStringNameAD, performCustomWindowsContextImpersonalization); //PrincipalContext pr = new PrincipalContext(ContextType.Domain, domain, "dc=corp,dc=local", username, password); if (performCustomWindowsContextImpersonalization) { using (var impersonation = new ImpersonateUser(ad.LDAPUser, ad.LDAPDomain, ad.LDAPPassword, ImpersonateUser.LOGON32_LOGON_NEW_CREDENTIALS)) { ad.User_MustChangePasswordNextLogon(userName, mustChange); } } else { ad.User_MustChangePasswordNextLogon(userName, mustChange); } }