|
Wed
Oct 25 2006 |
Detect Password Expiry |
|
See the original Usenet posting. public static DateTime PasswordExpirationDate(string user, string domain) { string connect = String.Format("WinNT://{0}/{1},user", domain, user); DirectoryEntry entry = new DirectoryEntry(connect); if (entry == null) Console.WriteLine("Failed to get Directory Entry."); int secondsRemaining = (int)entry.Properties["MaxPasswordAge"][0]; // A policy setting of -1 means no expiration, // so return an 'infinite' date if (secondsRemaining > 0) { secondsRemaining -= (int)entry.Properties["PasswordAge"][0]; return DateTime.Now.AddSeconds(secondsRemaining); } else { return DateTime.MaxValue; } } |