A área de trabalho remota está sendo executada no Windows7. Eu não tenho direitos de administrador.
Usando nestat
, consigo obter uma lista de todos os endereços IP conectados remotamente:
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
No PC temos diversas contas (ex. USER1, USER2, USER3, USER4, USER5).
Estou escrevendo um programa que exigirá como entrada uma lista desses usuários mapeados para a conta na qual estão conectados no momento - preciso ser capaz de fazer isso no prompt de comando.
A saída desejada poderia ser assim:
(o formato realmente não é tão importante, se eu conseguir a informação de alguma forma eu cuidarei disso de alguma forma)
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
Responder1
Isso pode levá-lo na direção certa, embora forneça apenas dados para o usuário "atual":
tracert %CLIENTNAME% | find "Tracing" > %TEMP%\ip.txt
set CLIENTIPINFO=<%TEMP%\ip.txt
echo %USERNAME% - %CLIENTIPINFO%
Talvez um utilitário de terceiros fosse útil? Não posso garantir a confiabilidade deste aplicativo, mas funcionou em um de nossos servidores de desenvolvimento:http://home.fnal.gov/~jklemenc/tslistusers.html