O login remoto (RDP) para o servidor usando seu nome de host dns ou seu IP fornece à mesma conta de usuário dois desktops

2

Eu encontrei uma situação interessante hoje que eu não conhecia.

Eu efetuei login pelo usuário A usando o nome do host dns do servidor SERVNAME e obtive minha sessão e minha área de trabalho. Eu coloquei na área de trabalho algum arquivo.

Então meu amigo também logou com o mesmo usuário A , mas usando o IP xxx.xx.xx.x do servidor e o Windows criou uma segunda sessão para o mesmo usuário A e segunda versão do desktop! Ele não viu o arquivo da minha área de trabalho e, além disso, não me expulsou da sessão como eu esperava.

Mas se ele se conectar pelo nome do servidor SERVNAME , ele me tira da sessão.

  • Sim, é o mesmo servidor.
  • A opção Restrict each user to a single session está definida como Yes ( fSingleSessionPerUser = 1 )

Como pode ser? Qual é a diferença na criação de log por IP ou nome de domínio?

    
por Rodion 31.03.2014 / 16:32

3 respostas

3

Há duas perguntas aqui:

1.) Por que o Windows Terminal Services não está restringindo o usuário A a uma sessão?

  • A Microsoft tem um artigo da base de conhecimento que fala sobre esse problema: link

Diz Users can open multiple sessions to a server that is restricted to a single session for each user.

Ele continua dizendo This functionality is working as expected. This setting is limits each user to one unique session. However, if the user is running different initial programs, the sessions are considered as different sessions.

Usar o nome do host do servidor versus seu endereço IP é suficiente para o Windows pensar que as sessões são exclusivas.

2.) Na minha sessão, eu tenho um arquivo na área de trabalho, porque este arquivo não está aparecendo na segunda sessão?

O Windows está criando duas sessões exclusivas, portanto, está criando um segundo perfil exclusivo para o segundo login do usuário A . Se for para um prompt de comando, você verá uma sessão iniciada em C:\Users\User A\ e a segunda sessão será C:\Users\User A.000\ . Da mesma forma, dê uma olhada em C: \ Users em uma janela do Windows File Explorer.

    
por 06.04.2014 / 16:11
1

Eu diria que, ao usar o DNS ou o endereço IP, existe uma diferença na identificação do computador que está originando a solicitação RDP.

A diferença pode estar no nome do usuário ao adquirir um qualificador diferente, por exemplo WORKGROUP.

Sugiro fazer logon usando os dois métodos e, em seguida, em um prompt de comando (cmd) use o comando whoami para encontrar a conta de usuário exata usada :

whoami /user

Se houver uma diferença, você encontrou sua resposta.

[EDITAR]

Como você descobriu que em ambos os casos há exatamente o mesmo usuário no mesmo domínio e com o mesmo SID, então minha única explicação é uma diferença que não é visível para você. Pode ser que, devido à solicitação de DNS, sua solicitação de conexão não siga as caminho exato na rede que é tomado ao usar o endereço IP.

Minha conclusão pessoal é que o Windows, nesse caso, não pesquisa a conexão no lugar certo, não encontra a conexão existente e, portanto, abre uma nova sessão / área de trabalho. No entanto, quando o processo de login é executado nessa nova área de trabalho, ele é registrado em sua conta de usuário / SID correta, para que o mesmo usuário tenha dois desktops.

Você pode pesquisar mais sobre essa possibilidade usando as LogonSessions utilitário da Sysinternals, que fornece informações mais detalhadas sobre as sessões de logon atualmente ativas. Outro utilitário possivelmente útil é a EnumWinsta GUI que exibe a lista de estações de janela e desktops.

Mais informações podem ser encontradas no artigo:
Windows Sysinternals: Conceitos do Windows Core - sessões, estações de janela, desktops e mensagens de janela .

Em outras palavras, acredito que este é um bug não documentado no RDP, que você deve reportar. Infelizmente, o Microsoft Connect não aceita erros no Windows, Portanto, sua única opção é entrar nos Fóruns do Microsoft Windows e espero que alguém da Microsoft passe adiante para ser corrigido em algum desconhecido tempo no futuro.

    
por 06.04.2014 / 21:40
0

Explicação

Como os comentários acima afirmaram, os serviços de terminal baseados em servidor aceitam várias conexões para a mesma máquina, seja de vários usuários diferentes ou de logins simultâneos (se configurados) para o mesmo usuário.

How can it be? What is the difference in logging by IP or domain name?

Não há diferença, você está remotamente na mesma máquina, usando apenas dois métodos diferentes para fazer isso. 1) O nome do host que simplesmente procura e resolveu o IP e 2) usando o IP em vez do domínio, isso é DNS básico .

Logins simultâneos

Há um valor de registro na subchave do Terminal Server responsável por várias conexões de mesmo usuário e é o fSingleSessionPerUser DWORD.

Abra o regedit ( +R)->regedit+digite

Navegueaté

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer

Cliqueduasvezesoucliquecomobotãodireito->modificarachavefSingleSessionPerUser

Euimaginoqueovalorestádefinidopara0,mudepara1.

  • 0=Váriassessõesporusuário
  • 1=sessãoúnicaporusuário

Apliqueasalteraçõesereinicieosserviçosdeáreadetrabalhoremota.(vejaabaixo)

Abracmd( + R ) - > cmd + digite

Digite net stop termservice e pressione entre , depois net stop termservice e pressione entre .

A resposta acima é testada na versão mais recente do Windows Server 2013 e remonta ao Windows Server 2003.

    
por 03.04.2014 / 13:29