Estou procurando algumas idéias sobre como desconectar, fazer logoff ou redefinir a sessão de um usuário em um Terminal Server 2008 (não é possível fazer login como usuário, pois está completamente bloqueado). Este é um ambiente de produção, portanto, a reinicialização do servidor ou a execução de algo em todo o sistema está fora de questão por enquanto. Algum truque do PowerShell para nos ajudar com isso?
Tentamos desconectar, desconectar o usuário e redefinir a sessão, além de eliminar os processos da sessão, diretamente do mesmo servidor de terminal (do gerenciador de tarefas, do Gerenciador de Serviços de Terminal e do Monitor de Recursos) sem resultados.
Socorro!
ATUALIZAÇÃO: Acabamos reiniciando o servidor como nenhuma outra tentativa que pudemos pensar funcionou. Deixarei essa pergunta em aberto, esperando que alguém possa ter mais informações sobre esse problema e suas possíveis correções.
Respostas:
O que funcionou para mim para resolver esse mesmo problema foi eliminar todos os processos em execução na conta bloqueada no Gerenciador de Tarefas e, então, consegui simplesmente fazer logoff dessa conta (de uma conta de Administrador).
O usuário pôde fazer logon novamente na conta.
Nenhuma reinicialização era necessária e nenhum software de terceiros precisava ser baixado.
fonte
csrss.exe
,dwm.exe
,LoginUI.exe
, ewinlogon.exe
. Pensei que matarwinlogon.exe
provocaria uma BSOD ...Quero compartilhar como redefinir a conta sem a necessidade de reiniciar o servidor. Primeiro de tudo, você precisa ter acesso de administrador ao servidor. Eu uso a seguinte opção de logon: mstsc / v: servername / console / admin para acessar o servidor. Em seguida, no "Windows Taks Manager", vá para a guia Usuários e clique com o botão direito do mouse na conta que deseja "Logoff", selecione logoff. Isso deve liberar a sessão bloqueada usada por essa conta.
fonte
A resposta simples é executar um prompt de comando elevado e digite "Taskmgr" e, em seguida, permitirá que você faça o logoff das sessões na guia USUÁRIOS. Não funcionará sem estar na sessão elevada.
fonte
Você pode iniciar um cmd, fazer uma sessão de consulta , verificar o ID da sessão a ser eliminada e, em seguida, fazer uma sessão de redefinição . Por exemplo, se com a sessão de consulta você obtiver o nome da sessão rdp-tcp # 1 que você deseja matar, poderá executar a redefinição da sessão rdp-tcp # 1 e matá-la.
fonte
reset session 9
esse comando, simplesmente trava. Minha sessão continua a ter os quatro processos em execução sem aparecer para ser activo:crss.exe
,dwm.exe
,LogonUI.exe
, ewinlogon.exe
. i.imgur.com/cFM62RA.png equery session 9
saídasNo User exists for 9
.Suponho que o mesmo aconteceu hoje no meu Terminal Server Win2008R2. Os sintomas foram: 1. Ele me telefonou com a mensagem "'conectar' trava para sempre". Ele é apenas um usuário simples, então não posso esperar uma descrição detalhada do problema. 2. Tentei desconectar / redefinir a sessão (o que geralmente ajuda nesses casos) - não funcionou. A sessão ainda trava na lista com o status 'desconectado'. 3. Tentei matar todos os processos para esse usuário - não ajudou. A sessão persiste e se recusa a ser morta.
A solução foi - conectar-se como usuário (faça o login com suas credenciais, se você puder redefinir sua senha ou usar algum tipo de assistência remota para ver o que acontece no computador) e ver o que acontece na janela de logon. Ao conectar, cliquei no botão 'detalhes' do RDP Client - e aqui estava uma mensagem de erro dizendo que o winlogon fazia algo errado, estava esperando o usuário clicar nos botões 'repetir / ignorar / etc' e, já que é o onipotente winlogon que causou todo esse comportamento estranho.
ps Eu não encontrei nenhuma maneira de realmente forçar a matar uma sessão :(
fonte
Acabamos de ter um problema semelhante com o servidor da Área de Trabalho Remota do Windows Server 2008 R2. A sessão do usuário mostrou "Ativo" ao analisar o RDS Manager, mas não exibiu o ID da sessão associado ou o dispositivo conectado (ambos estavam em branco).
Todos os truques acima não resolveram o problema. Ao conectar-se como usuário em questão, uma mensagem de erro retornava informando que o Terminal Server estava ocupado e para tentar novamente mais tarde ou entre em contato com o administrador.
Acabamos reiniciando o servidor também.
fonte
Eu tive o mesmo problema no Windows Server 2016. O usuário não pôde fazer login.
Então, tentei as seguintes etapas para desconectar a sessão órfã:
mostre sessões ativas e mate-as
com o ID de sessão (7) de 1. Tentei encerrar esta sessão com a sessão de redefinição 7 (fyi: rwinsta é um alias para redefinir a sessão)
funcionou por uma sessão, mas na próxima vez não teve efeito, então abri o gerenciador de tarefas e a guia do usuário. Lá, você encontra uma lista expansível atribuída a todos os usuários da área de trabalho remota - uma lista não tinha nome de usuário e mostrava apenas quatro tarefas em execução.
Eu tentei o óbvio: desconectando o usuário. Sem nenhum efeito.
tentando fazer logoff do usuário
Após a Etapa / Tente 4, até a última sessão travada foi interrompida e o usuário pôde fazer login novamente
fonte
winlogon.exe
, mas estou inseguro sobre outros comoLoginUI.exe
,csrss.exe
, edwm.exe
.Pode valer a pena verificar se o usuário não possui uma caixa pop-up de credenciais escondida atrás da janela da área de trabalho remota com alt + tab.
Um colega de trabalho estava tendo o mesmo problema; não pôde fazer logoff ou redefinir, e todos os seus processos foram desligados manualmente. Quando tentei acessar o GUI do sistema que ele estava remotando, encontrei uma caixa de credenciais escondida atrás da sessão remota.
fonte
Eu teria a mesma situação: um Windows Server 2008 R2 com Serviços de Área de Trabalho Remota, conexão RDP configurada para fazer logoff de usuários após a sessão ficar inativa ou desconectada por 3 horas e ainda algumas sessões permanecerem bloqueadas. Tentei desconectá-los com o Remote Desktop Manager e o qwinsta / quser, sem êxito.
Aqui está como eu resolvi isso:
qwinsta
.winlogon.exe
sessão suspensa comquery process /ID:yourid
.taskkill /f /PID yourPID
.Caminho a percorrer. Caso contrário, gostaria de encontrar uma solução para que isso não aconteça.
fonte
O que funcionou para mim foi:
fonte
Eu tive esse problema com usuários bloqueados do aplicativo de área de trabalho remota. Eu escrevi esse script do Powershell para executar uma tarefa agendada para fazer logoff de usuários que se mostraram desconectados por mais de 2 minutos. A única edição necessária é o SERVERNAME que eu defini para excluir o Remote Desktop Broker Server; no entanto, você pode excluir qualquer servidor que desejar, ou nenhum.
Meu script foi escrito para o Windows Server 2012 R2, a propósito ...
O script faz o seguinte:
Funciona para mim! Espero que ajude outra pessoa! :)
Ou, se você preferir uma versão, poderá ver o que está acontecendo na tela:
fonte
Crie um arquivo no bloco de notas e chame-o foundession.cmd. Coloque o comando Query Session / server: servername | encontre / i "% 1" e salve em um diretório. Crie outro arquivo chamado resetsession.cmd e coloque o comando Redefinir sessão% 1 / server:% 2 e salve.
Em um prompt de comando, vá para o diretório em que você salvou esses arquivos e digite o nome de usuário foundession (login do usuário que você está tentando encontrar). Pressione Enter e você deverá ver o login e a ID da sessão. Digite resetsession.cmd ID Servername e ele redefinirá essa sessão. Eu uso isso diariamente e é super rápido para encontrar usuários e redefinir suas sessões.
fonte
qwinsta
.taskkill /FI "SESSION eq 1" /F
, assumindo que o ID da sessão que você deseja encerrar retornado de qwinsta seja 1.Isso funcionou no Server 2012 Versão 6.2 Build 9200, eu esperaria que funcionasse em todas as versões do Windows.
fonte
Esse script do power-shell funcionou para mim e até fornece um bom arquivo de log. Eu peguei daqui. : Espero que isso ajude outra pessoa, pois as outras respostas tinham muitos pré-requisitos e ou não funcionaram para mim.
Editar:
originalmente usei esse script para fazer logoff e fechar todas as sessões "desconectadas". Temos alguns aplicativos de servidor de terminal com muitos usuários e licenças limitadas. As sessões desconectadas permaneceriam abertas por um período muito longo e, às vezes, permaneceriam abertas indefinidamente. Isso resultou em sessões não utilizadas que ocupariam algumas das licenças e outros usuários não poderiam se conectar como resultado.
desconectar regularmente sessões em alguns dos meus servidores. Funciona de forma autônoma,
sem nenhuma interação necessária.
fonte
Talvez ainda exista um processo em andamento, bloqueando o processo de logoff. Verifique os processos ainda em execução para o usuário afetado. Em seguida, mate o processo um por um para ver qual deles está causando o problema.
Verifique também a
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
chave do Registro que apenas os processos necessários foram iniciados. Em 64 bits éHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
.fonte
Você pode baixar a ferramenta " Process Explorer " da Microsoft e usá-la para resolver seu problema. Se você tiver os IDs de sessão, poderá encontrar seus respectivos processos. Se uma sessão do usuário estiver desconectada, você poderá interromper o processo com o Process Explorer.
fonte
Não exatamente o mesmo ambiente (temos 2012r2), mas reiniciar o serviço de gerenciamento de máquina virtual Hyper-V (VMMS) liberou a conexão para mim.
fonte
Você precisa clicar no processo e mostrar o processo de todos os usuários e, em seguida, poderá desconectar.
por que não criar uma política de sessão em Configuração de host de sessão de área de trabalho remota e desconectar ou sessão inativa após determinado intervalo.
fonte
Minha correção: em um servidor de rede diferente, eu me conectei ao servidor do problema por meio da ferramenta de gerenciamento do computador, em sessões abertas, cliquei com o botão direito do mouse e fechei todos os arquivos abertos, em seguida, consegui me conectar via mstsc
fonte
você sempre pode usar o PowerShell da sua máquina local e fazê-lo remotamente
fonte
Infelizmente. Minha sessão do usuário foi desconectada. O gerenciador de tarefas não mostrou nenhum processo em execução como usuário. Não consegui desconectar o usuário do gerenciador de tarefas. Tentei redefinir o comando id da sessão e acabei congelando também. Eu tive que terminar o login em uma sessão diferente como administrador, excluindo a conta e recriando uma nova.
fonte
Você tentou fazer logoff do usuário no Remote Desktop Services Manager? Vá para Ferramentas administrativas -> Serviços de área de trabalho remota -> Gerenciador de serviços de área de trabalho remota e faça logoff da sessão. Isso pode funcionar.
fonte
Vá para a janela inicial e clique no seu nome
Veja a amostra aqui
fonte