Как получить дату создания пользователя 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");