/// <summary> /// Unlocks the specified principal, which can be either a user or computer. /// </summary> /// <param name="principal">A unique identifier of a user or computer.</param> /// <returns>True if success, false otherwise.</returns> public static Boolean Unlock(string principal) { Principal p = Principal.FindByIdentity(GetPrincipalContext(), principal); try { if (p is UserPrincipal) { UserPrincipal u = p as UserPrincipal; u.UnlockAccount(); u.Save(); } else if (p is ComputerPrincipal) { ComputerPrincipal c = p as ComputerPrincipal; c.UnlockAccount(); c.Save(); } return(true); } catch { return(false); } }