В настоящее время я пишу приложение чата с использованием TCP в VB.Net, и мне нужно знать, как получить имя пользователя, зарегистрированного на компьютере (это не один из которых я использую, то есть не environment.username()), а один в той же сети LAN, что и я, используя имя машины или IPV4-адрес, который я нашел способ получить программно. Я провел много исследований и нашел ответы на вопросы, связанные с серверами Windows, и нашел имя пользователя локального пользователя, однако, чтобы повторить, я хочу, чтобы пользователь имени пользователя был возвращен, когда я ввожу свой IP-адрес/имя_компьютера в локальной сети.Найти имя пользователя в локальной сети vb.net/C#
-1
A
ответ
0
Я не нашел способ, который не требовал знать учетные данные на ПК, на который вы смотрите пользователей. Если вы знаете некоторые учетные данные администратора, просто установите два пакета nuget, Cassia и SimpleImpersonation.
Тогда вы можете получить пользователей, зарегистрированных как это:
Using Impersonation.LogonUser(DomainHere, UsernameHere, PasswordHere, LogonType.NewCredentials)
Dim TSM As New TerminalServicesManager()
Using Server As ITerminalServer = TSM.GetRemoteServer(ComputerNameHere)
Server.Open()
For Each session In Server.GetSessions()
Debug.Print(session.SessionId)
Debug.Print(session.UserAccount.Value)
Debug.Print(session.ConnectionState)
Next
End Using
End Using
Вы можете сделать это в DOS довольно легко 'пользователь запрос/сервер: computername' –