Вы можете сделать одну из этих вещей:
1) вы можете расширить нормальный UserPrincipal
класс, чтобы включить дополнительные элементы, которые вам часто нужны.Это было бы самое чистое решение, правда.См. MSDN документацию по расширению пользователя-участника или ответ на этот вопрос SO для примера того, как расширить класс UserPrincipal
с дополнительными свойствами
2.) Вы можете просто «добраться до глубины» своего базового DirectoryEntry
и получить данные оттуда:
DirectoryEntry de = YourUserPrincipal.GetUnderlyingObject() as DirectoryEntry;
if(de != null)
{
var initials = de.Properties["initials"];
if(initials != null && initials.Count > 0)
{
string theInitials = de.Properties["initials"][0].ToString();
}
}