В одном из моих проектов я использовал таблицу в SQL Server для хранения пользовательских данных из Active Directory («displayName», «sAMAccountName», «userPrincipalName»), используя приложение C # для передачи данных. Таблица обновлялась по ночам, а также после любых изменений в Active Directory, которые могли повлиять на пользователей моего проекта.
В моем случае (форма Infopath, размещенная на Sharepoint) я использовал веб-сервис для получения имени учетной записи текущего пользователя из Sharepoint, чтобы отобразить полное имя пользователя, отвечающего за запрос.