NOME DA MAQUINA VIA TSCLIENT

GEORGESLEE 25/07/2013 11:28:48
#426501
Tenho a seguinte situação:
Meu cliente usa a aplicação em um servidor. E normalmente salvo o nome da máquina onde foi feita alguma alteração, mas como a aplicação está num servidor, de nada vai resolver eu salvar o nome da maquina, pois vai ser o mesmo.
E não consigo descobrir o nome da máquina que a pessoa se encontra.
é possível? Como faço isso?
Obrigado.
KERPLUNK 25/07/2013 11:30:49
#426502
Via TSClient, não.
GEORGESLEE 25/07/2013 11:34:50
#426503
Não é possível descobrir a máquina que logou no servidor?
Lá seria pela rede local mesmo.
KERPLUNK 25/07/2013 12:04:50
#426506
Veja bem. Quando um client conecta via TS, o servidor emula um desktop para esse client que é o que quem conectou vê, um desktop emulado. Como a emulação não diferencia se está sendo controlada remotamente ou localmente, para o desktop emulado, isso não faz diferença.
OCELOT 25/07/2013 15:09:05
#426517
Resposta escolhida
Quando se conecta no Terminal Services cada sessão vai possuir um [Ô]Client Name[Ô] que é o nome do PC que conectou nele, e apesar de não existir nada no .Net para pegar isso é possível usar a API do Terminal Services para isso.

Não encontrei nenhum exemplo em VB.Net, mas achei um em C# que está fácil de converter

http://stackoverflow.com/questions/5301079/preferred-way-of-getting-client-name-from-terminal-server-session

Detalhe que ele não detecta se está ou não em uma sessão do terminal services, se não estiver ele retorna uma string com apenas um caractere ASC = 0
GEORGESLEE 25/07/2013 15:51:25
#426519
Ocelot, muito obrigado.
Fiz a conversão do C# pra VB.Net e funcionou perfeitamente.
Problema resolvido.
Tópico encerrado , respostas não são mais permitidas