này nên làm các trick để tìm hiểu thời gian còn lại cho đến khi mật khẩu hết hạn cho mỗi người dùng:
private static TimeSpan GetTimeRemainingUntilPasswordExpiration(string domain, string userName)
{
using (var userEntry = new System.DirectoryServices.DirectoryEntry(string.Format("WinNT://{0}/{1},user", domain, userName)))
{
var maxPasswordAge = (int)userEntry.Properties.Cast<System.DirectoryServices.PropertyValueCollection>().First(p => p.PropertyName == "MaxPasswordAge").Value;
var passwordAge = (int)userEntry.Properties.Cast<System.DirectoryServices.PropertyValueCollection>().First(p => p.PropertyName == "PasswordAge").Value;
return TimeSpan.FromSeconds(maxPasswordAge) - TimeSpan.FromSeconds(passwordAge);
}
}
Lưu ý: bạn sẽ cần phải thêm một tham chiếu đến System.DirectoryServices
.
Nguồn
2012-03-19 11:45:38
Đảm bảo rằng các yếu tố trong Chính sách mật khẩu được phân loại tốt nếu bạn đang sử dụng hoặc có thể đang sử dụng chúng. Tôi không * nghĩ * nó có, nhưng, tôi không thấy nhà cung cấp WinNT được sử dụng ở đây. –
Đây có phải là giải pháp đúng nếu chính sách miền bị chính sách nhóm ghi đè không? –