Como posso restaurar uma sessão de área de trabalho remota para o console local?

13

Depois de concluir uma conexão com a área de trabalho remota, gostaria de restaurar a área de trabalho remota para o console local para que o usuário não precise redigitar a senha e fazer login novamente.

Como posso criar um atalho na área de trabalho para fazer isso?

    
por glenviewjeff 10.11.2011 / 15:06

4 respostas

10
  1. Crie um atalho na área de trabalho clicando com o botão direito do mouse na área de trabalho e selecionando novo e selecione atalho.
  2. No campo de texto, digite:

    %windir%\System32\tscon.exe 0 /dest:console (veja abaixo)

  3. Clique com o botão direito no atalho recém-criado e clique em propriedades.
  4. Clique na guia de atalhos e clique no botão Avançado.
  5. Marque a caixa "Executar como administrador" e clique em OK.

Se isso não funcionar, tente alterar o número zero ( tscon.exe 0 /dest... ) na etapa 2 para o número um e, se isso não funcionar, continue incrementando até que a área de trabalho remota seja liberada.

Como alternativa, abra um shell com o menu Iniciar, execute, cmd . Digite qwinsta Enter e procure o ID da sessão que está no estado ativo (ele terá um caractere > no início do nome da sessão). Esse é o número que você precisa usar na etapa 2.

Quando você quiser restaurar a área de trabalho do console, clique duas vezes no atalho e permita o acesso de administrador.

    
por 10.11.2011 / 15:08
7

Aqui está uma versão que evita a dependência das ferramentas GNU. Ele usa o findstr, que é fornecido com o Windows.

for /f %%i in ('qwinsta ^| findstr /C:">rdp-tcp#"') do set RDP_SESSION=%%i
:: Strip the >
set RDP_SESSION=%RDP_SESSION:>=%
tscon %RDP_SESSION% /dest:console
    
por 14.05.2015 / 10:45
1

A resposta de glenviewjeff me pegou a maior parte do caminho, mas o ID da sessão nem sempre é 1. Se você tentar desconectar a sessão de console ou de escuta, receberá um "Erro 7045" - o acesso da sessão solicitada é negado, ou se o id da sessão não existe um erro SessionID não encontrado.

Eu fiz um pequeno arquivo de lote para retirar a sessão atual. Como eu fiz isso no Windows XP eu precisava qwinsta ao invés de consultar a sessão para descobrir o ID atual. Este arquivo de lote usa utilitários de linha de comando unix, eu uso o Gnu no Windows ( link ) para ter acesso a eles. Ele puxa a sessão atual procurando por um ">" assine e reatribui de volta à sessão do console.

for /f %%i in ('qwinsta ^| grep "^>" ^| awk "{print $4}"') do set VAR=%%i
tscon %var% /dest:console

Eu precisava disso para uma máquina conectada a um scanner Fujitsu IX500; o scanner só verifica se a tela não está na tela de seleção de nome / conexão de usuário no Windows, o que é obtido quando você faz logoff ou desconecta uma sessão. normalmente. Como a máquina funciona sem uma tela, eu quero ser capaz de conectar via rdp, mas se eu fiz isso eu não poderia usar o botão de verificação de hardware até que eu fiz o login manualmente ou reiniciei. O arquivo de lote acima resolve esse problema.

    
por 15.03.2013 / 11:17
0

Eu não consegui usar o comando de arquivo batch do Simon D para funcionar. Isso é o que funcionou para mim no Windows 7 x64:

for /f %%i in ('qwinsta ^| grep "^>" ^| awk "{print $3}"') do tscon %%i /dest:console
    
por 04.05.2014 / 08:33