A resposta de glenviewjeff me levou quase todo o caminho até lá, mas o ID da sessão nem sempre é 1. Se você tentar desconectar a sessão de escuta ou console como esta, receberá um "Erro 7045" - o acesso à sessão solicitado será negado ou se o o id da sessão não existe um erro SessionID não encontrado.
Criei um pequeno arquivo em lotes para retirar a sessão atual. Ao fazer isso no Windows XP, eu precisava qwinsta, em vez de consultar a sessão para descobrir o ID atual. Este arquivo em lote usa utilitários de linha de comando unix, eu uso o Gnu no Windows ( https://github.com/bmatzelle/gow/downloads ) para ter acesso a eles. Ele puxa a sessão atual procurando um sinal ">" e o atribui novamente à 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ó digitaliza se a tela não estiver na tela de seleção de nome de usuário / conexão no Windows, que é o que você obtém ao fazer logoff ou desconectar uma sessão normalmente. Como a máquina funciona sem uma tela, desejo poder conectar-me via rdp, mas, se fizesse isso, não poderia usar o botão de verificação de hardware até fazer login manualmente ou reiniciar. O arquivo em lotes acima resolve esse problema.