Я знаю, что имя учетной записи пользователя можно получить из встроенной переменной User! UserID, но как я могу получить полное имя пользователя?
Я предполагаю, что можно было бы подключить некоторый код .NET и выполнить поиск в Active Directory, но есть ли альтернативы?





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