Как получить дату создания пользователя AD из .NET? - PullRequest
2 голосов
/ 09 февраля 2010

Я хочу получить дату создания пользователей в Active Directory. Я понимаю, что у пользователей есть свойство WhenCreated, но я не вижу этого свойства, отображаемого для типа UserPrincipal , с которым я работаю.

Я бы хотел сделать что-то вроде этого:

var principal = UserPrincipal.FindByIdentity(context, IdentityType.Guid, guid);
//var createdDate = principal.CreationDate; 

Изменить: это веб-приложение, работающее в IIS, запрашивающее сервер AD на другом компьютере в той же сети.

1 Ответ

10 голосов
/ 09 февраля 2010

Вам необходимо получить базовую директиву (часть пространства имен System.DirectoryServices).

Вы можете использовать этот метод расширения, чтобы получить дату в виде строки:

public static String GetProperty(this Principal principal, String property)
{
    DirectoryEntry directoryEntry = principal.GetUnderlyingObject() as DirectoryEntry;
    if (directoryEntry.Properties.Contains(property))
        return directoryEntry.Properties[property].Value.ToString();
    else
        return String.Empty;
}

Используйте вот так:

var createdDate = principal.GetProperty("whenCreated");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...