Как получить дату создания пользователя AD из.NET?

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

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

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

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

1 ответ

Решение

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

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

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");
Другие вопросы по тегам