Como descobrir quem está atualmente conectado via VNC

0

Temos uma máquina com Windows XP Pro em funcionamento, com a qual várias pessoas se conectam via VNC (RealVNC). Cada usuário faz login no Windows com sua própria conta. Todos nós queremos ser educados com os outros usuários e nos conectar somente quando ninguém mais estiver usando a máquina. Se alguém estiver usando-o, quero descobrir quem (ou seja, em que usuário do Windows está logado) para que eu possa perguntar quando é provável que ele termine. A questão é: como faço para descobrir isso?

O que fazemos atualmente é primeiro tentar se conectar via RDP, para que ele nos avise "O usuário SmithJ está conectado no momento. Deseja desativá-los?" Nós respondemos "Não", mas agora sabemos que é John Smith que está usando. Isso funciona, mas é um bocado extra de problemas - você tem que executar o Remote Desktop, selecione a máquina, digite sua senha. Existe alguma maneira de fazer isso com o próprio VNC?

Claro, outra maneira seria enviar CtrlAlt-Del uma vez conectado via VNC, mas isso seria muito irritante para a outra pessoa que está usando e eu não quero interrompê-los assim.

Antes que alguém pergunte, não, não podemos simplesmente usar o RDP - a sessão deve parecer ser a sessão "interativa". No entanto, se houver produtos alternativos para o VNC que possam fazer isso, eu estaria interessado em ouvi-los.

    
por EMP 12.07.2010 / 06:30

4 respostas

1

Seguindo de:

echo% USERNAME% > CurrentlyLoggedIn.txt

Parece que o Windows XP, e mais tarde, tem uma variável de ambiente "SESSIONNAME", que é definida como "Console" para a sessão de login do console.

Não tenho certeza do que é definido para uma sessão RDP (área de trabalho remota). Se diferente, você pode usar isso no arquivo de lote como um meio de qualificar se o arquivo mágico deve ser atualizado ou não.

Um pouco de pegadinha com essa abordagem: você também precisa excluir esse arquivo no logout do console.

    
por 27.10.2010 / 09:07
0

Parece que usar o psloggedon.exe de Sysinternals seria sua melhor aposta. Basta executar um arquivo de lote simples ou algo assim e ele vai te dizer quem está conectado no pc remoto. Se você tiver vários usuários via RDP e Console, tente usar net sessions \computer e isso retornará todas as sessões RDP no computador remoto.

    
por 12.07.2010 / 06:33
0

você poderia fazer telnet para a outra máquina ou usar o psexec e executar um comando

Pode executar um script que faça netstat -aon no servidor e examine o IP e. então tem outro arquivo com IPs e nomes de usuário um por linha. encontre a linha com esse IP e exiba a linha que mostra o nome de usuário.

ou

Cada cliente pode usar o psexec para escrever um arquivo em C: \ que diz o nome dele nele.

Para descobrir quem está usando o computador, quando ele estiver em uso, você pode executar um script que exibe o que está nesse arquivo.

    
por 12.07.2010 / 22:21
0

Isso pode parecer um pouco de gueto, mas funcionaria: Você pode adicionar um script em lote à pasta de inicialização everyones que faz algo parecido com isso -

echo% USERNAME% > CurrentlyLoggedIn.txt

depois, compartilhe esse arquivo na máquina e crie um atalho para ele na sua máquina. Dessa forma, quando alguém faz login, ele atualiza automaticamente esse arquivo, e se você precisar saber quem estava conectado, basta clicar duas vezes no atalho na área de trabalho para ver.

    
por 27.10.2010 / 06:30