PrincipalContext & UserPrincipal, как узнать, когда истекает срок действия пароля? - PullRequest
10 голосов
/ 04 апреля 2011

У меня есть UserPrincipal объект с множеством свойств, но я не могу найти свойство на дату истечения срока действия пароля.

Как это можно сделать?

1 Ответ

10 голосов
/ 08 мая 2013

Это самый простой подход, который мне удалось придумать ...

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: ActiveDs указано на вкладке COM диалогового окна Добавить ссылку как Библиотека активных типов DS

Примечание # 2: Насколько я могу судить, PasswordExpirationDate в UTC времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...