VB .NET: залогиненая информация о пользователе - PullRequest
2 голосов
/ 20 июля 2009

Я пишу программное обеспечение на VB .NET (2005), которое использует информацию пользователя Windows в качестве учетных данных для входа - только имя пользователя. Я нашел Environment.UserName, который работает для имени пользователя (как и следовало ожидать).

Однако мне нужно больше информации - мне нужно полное имя пользователя (как показано в меню «Пуск»). Кажется, эта информация хранится ... где-то, поскольку Windows может использовать ее для таких вещей, как разрешения для общих файловых ресурсов.

Я слышал, что в user32.dll есть вызовы, которые могут это сделать, но я бы хотел метод .NET, если это вообще возможно. У меня также есть SID для пользователя, если это вообще помогает.

Кто-нибудь знает лучший способ получить эту дополнительную информацию?

1 Ответ

1 голос
/ 20 июля 2009

Кажется, что пространство имен System.DirectoryServices - именно то, что я ищу.

Всегда кажется, что вы найдете ответ сразу после того, как спросите:)

Для дальнейшего использования:

Dim ent As New DirectoryServices.DirectoryEntry("WinNT://<Domain>/<Username>")
Dim props As DirectoryServices.PropertyCollection = ent.Properties
Debug.Print(props.Item("FullName").Value)
...