PrincipalContext& UserPrincipal如何知道密码何时到期?

时间:2011-04-04 07:48:45

标签: c# active-directory

我有一个具有很多属性的UserPrincipal对象,但我找不到密码到期日期的属性。

如何做到这一点?

1 个答案:

答案 0 :(得分:10)

这是我能够提出的最简单的方法......

using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;
using ActiveDs;

//...

PrincipalContext domain = new PrincipalContext(ContextType.Domain);
UserPrincipal user = UserPrincipal.FindByIdentity(domain, "username");
DirectoryEntry entry = (DirectoryEntry)user.GetUnderlyingObject();
IADsUser native = (IADsUser)entry.NativeObject;
Console.WriteLine(user.GivenName + "'s password will expire on " + native.PasswordExpirationDate);


注意#1:<{>>添加参考对话框的 COM 标签上列出ActiveDs Active DS类型库

注意#2:据我所知,PasswordExpirationDate是UTC时间。