Como garantir que os usuários efetuem logout das sessões da Área de Trabalho Remota em vez de fechar a janela RDP?

19

Temos vários servidores nos quais nossos engenheiros trabalham na área de trabalho remota, mas cada servidor tem um limite de duas conexões. Frequentemente, tentaremos fazer RDP nessas caixas e veremos a mensagem "Esta máquina excedeu o número máximo de conexões".

É uma grande dor, porque enviamos várias mensagens de e-mail para esses usuários, e eles nunca entendem.

Sei como me conectar ao console raiz e inicializar pessoas, mas prefiro não fazer isso. Sei também que existem maneiras de inicializar sessões inativas após um período de tempo e também não quero fazer isso.

Quero forçar os usuários a saberem que precisam sair. Isso não acontece se você desconectá-los manualmente (além de desconectá-los manualmente é uma dor). Se você apenas desconectá-los manualmente, esses engenheiros não pensarão duas vezes antes de permanecerem conectados em uma sessão RDP, porque é conveniente para eles.

Eu preferiria algum sistema de notificação em que o usuário imprudente seja notificado por e-mail ou mensagem NET SEND de que sua conta está sendo desconectada da máquina. Dessa forma, eles perceberão que estão fazendo algo errado. Ainda melhor, se eles violarem várias vezes, eu gostaria que sua conta fosse bloqueada até que um administrador do sistema a desbloqueie.

Existe uma maneira de atingir o objetivo de fazer com que os usuários efetuem logout manualmente? Todas as sugestões são bem vindas.

JackAce
fonte
A melhor maneira prática de pensar é o que você já está fazendo. Envie a todos eles, mas adicione 'usuário A e usuário B atualmente trabalhando ativamente nesta máquina. Vocês dois podem usar o correio quando tiver terminado e desconectado? '. Objetivo: Sim, você está esperando. Estas são as pessoas que se esqueceram de sair, vão reclamar com elas. Além disso, se você precisar de mais usuários, então existe uma solução: servidor de terminal. Tanto quanto sei, isso significa pagar por uma licença e alterar uma DLL.
Hennes 15/10

Respostas:

15

Você pode usar as ferramentas de Configuração de host de sessão da área de trabalho remota ou (melhor) diretivas de grupo para definir regras sobre desconexões de RDP.

Se você usar a Diretiva de Grupo e as OUs, poderá permitir que alguns usuários permaneçam "desconectados" e force outros a fazer logoff após a desconexão.

Verifique especificamente estes ramos da política:

  • Configuração do computador \ Diretivas \ Modelos Administrativos \ Componentes do Windows \ Serviços de Área de Trabalho Remota \ Host de Sessão da Área de Trabalho Remota \ Limites de Tempo da Sessão
  • Configuração do usuário \ Diretivas \ Modelos Administrativos \ Componentes do Windows \ Serviços de Área de Trabalho Remota \ Host de Sessão da Área de Trabalho Remota \ Limites de Tempo da Sessão

E políticas como estas:

Terminar uma sessão desconectada

Especifique a quantidade máxima de tempo que uma sessão de usuário desconectada é mantida ativa no servidor Host de Sessão RD. Se você especificar "Nunca", a sessão desconectada do usuário será mantida por um tempo ilimitado.

Quando uma sessão está desconectada, os programas em execução são mantidos ativos, mesmo que o usuário não esteja mais conectado ativamente.

.

Quando um limite de sessão é atingido ou a conexão é interrompida

Especifique se deseja desconectar ou encerrar a sessão dos Serviços de Área de Trabalho Remota do usuário quando um limite de sessão ativo ou inativo for atingido.

Se a sessão do usuário for desconectada, os programas que o usuário está executando serão mantidos ativos, mesmo que o usuário não esteja mais conectado ativamente.

Se a sessão do usuário for encerrada, o usuário precisará estabelecer uma nova sessão dos Serviços de Área de Trabalho Remota com um servidor Host de Sessão RD.

Para obter mais informações, consulte esta página da MS sobre políticas de desconexão RDP.

Ƭᴇcʜιᴇ007
fonte
Também discutido no ServerFault: serverfault.com/questions/301640/…
1

Para um sistema de notificação, acho que você precisaria desenvolvê-lo, usando APIs como WTSEnumerateSession .

Isso significa desenvolver algo como um serviço do Windows que consulta regularmente seus servidores para caçar sessões desconectadas e fazer o que quiser com eles.

Isso pode levar alguns dias de trabalho para você acertar.

Caso contrário, sugiro outra abordagem para esse problema:

  • Configure dois grupos de usuários rdp nos servidores: digamos TrustedDisconnectors e UntrustedDisconnectors.
  • Configure uma política para UntrustedDisconnectors, fazendo com que sua sessão seja desconectada com um tempo limite de desconexão um pouco curto.
  • Comunique-se sobre essa mudança. Os estados que os engenheiros que frequentemente falham em se desconectar adequadamente sem razões válidas não teriam mais permissão para se desconectar sem serem desconectados.
Frédéric
fonte
0

Não tenho certeza de quanto isso será útil, mas vale a pena dar uma olhada no visualizador VNC . Ele pode ser configurado para fazer logoff assim que o último visualizador for desconectado.

Em seguida, você pode forçar os usuários a usar o VNC bloqueando a porta RDP na máquina.

greg84
fonte
1
O VNC não permite apenas uma conexão? Isso pode piorar as coisas (tentar fazer login quando alguém já estiver conectado). Além disso, o VNC me deixa nervoso porque alguém pode estar em pé na frente da máquina que você está controlando, assistindo tudo o que você digita sem que você saiba.
JackAce
1
Além disso, há momentos em que você deseja desconectar legitimamente e deixar algumas operações continuarem em execução. Há momentos em que quero desconectar quando deixo o trabalho e reconecto a partir de casa.
21312 JackAce
Cuidado com o VNC ... se você estiver usando criptografia simétrica (também conhecida como senha única para todos os usuários), ela pode ser descriptografada facilmente: raymond.cc/blog/crack-or-decrypt-vnc-server-encrypted-password
Mick