Удаленный рабочий стол работает на Windows 7. У меня нет прав администратора.
Используя nestat
я могу получить список всех удаленно подключенных IP-адресов:
C:\>netstat -n | find "3389" | find "ESTABLISHED"
TCP 10.*.4.10:3389 10.*.4.*1:50031 ESTABLISHED
TCP 10.*.4.10:3389 10.*.4.*2:50032 ESTABLISHED
TCP 10.*.4.10:3389 10.*.4.*3:50033 ESTABLISHED
TCP 10.*.4.10:3389 10.*.4.*4:50034 ESTABLISHED
TCP 10.*.4.10:3389 10.*.4.*5:50035 ESTABLISHED
На ПК у нас есть несколько учетных записей (например, USER1, USER2, USER3, USER4, USER5).
Я пишу программу, которая в качестве входных данных будет требовать список пользователей, сопоставленных с учетной записью, в которую они в данный момент вошли. Мне нужно иметь возможность сделать это из командной строки.
Желаемый результат может выглядеть так:
(формат на самом деле не так уж важен, если я каким-то образом получу информацию, я как-нибудь с ней разберусь)
10.*.4.*1:50031 USER1
10.*.4.*2:50032 USER2
10.*.4.*3:50033 USER3
10.*.4.*4:50034 USER4
10.*.4.*5:50035 USER5
решение1
Это может помочь вам двигаться в правильном направлении, хотя здесь вы найдете данные только для «текущего» пользователя:
tracert %CLIENTNAME% | find "Tracing" > %TEMP%\ip.txt
set CLIENTIPINFO=<%TEMP%\ip.txt
echo %USERNAME% - %CLIENTIPINFO%
Может быть, сторонняя утилита будет полезна? Я не могу ручаться за надежность этого приложения, но оно работало на одном из наших серверов разработки:http://home.fnal.gov/~jklemenc/tslistusers.html