Como usar o tscon no Windows7?

12

Preciso executar testes de automação noturnos usando RFT e IE na máquina virtual Windows7. Descobri que reiniciar a caixa do Windows antes do início do teste ajuda.

Estou mudando o ambiente de produção do Windows XP para o Windows 7. A RFT costumava reclamar ao executar scripts RFT que CRFCN0557E: Activation failed when running under a Terminal Services environment. This may be caused by using a minimized terminal window - try playing back without minimizing the terminal window (it does not need to be full-screen).

A execução tscon.exe 0 /dest:consoleanterior ao início de qualquer script RFT corrige o erro no Windows XP. Mas não no Windows7.

Eu fiz algumas pesquisas e estava tentando por horas consertar isso, mas nada ajudou. Não há proteção de tela ativada no Windows7.

Tentei executar os dois, mas nada ajudou.

tscon.exe 0 /dest:console
tscon.exe 1 /dest:console

No Windows7, tscon retorna

{ErrorPrintf(): LoadString failed, Error 15105, (0x00003B01)}
Error [15105]:The resource loader cache doesn't have loaded MUI entry.
Error [0]:The operation completed successfully.

No Windows XP, tscon retorna

Could not connect sessionID 0 to sessionname console, Error code 7045
Error [7045]:The requested session access is denied.

Eu apenas verifiquei que a execução tscon.exe 0 /dest:consoleno Windows XP resolve o problema. Não é possível entender a saída do comando tscon então.

Alguma idéia de como posso executar scripts RFT depois de reiniciar a caixa do Windows automaticamente? De preferência sem envolver nenhum outro computador. Eu estava pensando em usar o antigo Windows XP para fazer uma sessão remota na área de trabalho para deixar a RFT feliz. Espero que exista outra solução melhor para isso.

Radek
fonte
Criei outra pergunta que pode estar relacionada. serverfault.com/questions/429364/…
Radek
Além disso, isso parece promissor: msdn.microsoft.com/en-us/library/windows/hardware/gg463353.aspx não tenho certeza do que isso significa para mim.
Radek

Respostas:

13

Antes de chegar ao seu problema principal, gostaria de destacar que o fato de você estar recebendo a mensagem

{ErrorPrintf(): LoadString failed, Error 15105, (0x00003B01)}
Error [15105]:The resource loader cache doesn't have loaded MUI entry.

é uma indicação de que algo foi corrompido no seu sistema. MUI é a interface de usuário multilíngue. O computador com Windows 7 em questão está configurado para usar um idioma diferente de "inglês (Estados Unidos)"? Parece que o tscon está tentando encontrar e exibir uma mensagem de erro no idioma configurado, mas não consegue encontrar o arquivo de idioma que deve usar. Isso pode ser um sintoma de um problema maior. Você está usando o tscon.exe que foi instalado naquele computador e não aquele que você copiou de outro computador, certo?

Você pode corrigir esse problema executando sfc /scannowdepois de tirar uma captura instantânea e ver se o tscon dá o mesmo erro.

Quanto ao seu problema principal, o número que você está fornecendo ao tscon indica em qual ID da sessão atuar. Você verificou se está usando a sessão 0 ou 1? Corra query userpara ver qual é o seu ID de sessão e use esse número.

Por exemplo, eu recebo essa saída query userem um dos meus servidores:

 USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
>starfish              rdp-tcp#4           2  Active          .  9/20/2012 10:12 PM

Como meu ID de sessão é 2, corro tscon 2 /dest:consolepara enviá-la ao console. Quando vou ao console e executo query user, vejo o seguinte:

 USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
>starfish              console             2  Active          .  9/20/2012 10:12 PM

Também testei isso em uma área de trabalho do Windows 7 Pro com os mesmos resultados.

Se você tiver êxito com os comandos acima, poderá colocar o seguinte em um arquivo em lotes e executá-lo para enviar sua sessão atual ao console.

for /f "skip=1 tokens=3 usebackq" %%s in (
  `query user %username%`
) do (
  %windir%\System32\tscon.exe %%s /dest:console
)

Ele também deve eliminar a necessidade de reiniciar o computador, que eu suspeito que tenha sido garantir que você sempre tenha o ID de sessão 0.

Estrelas do mar
fonte
Muito interessante. Preciso me preparar e investigar mais na segunda-feira. No momento, posso fazer o teste após a reinicialização, se não fizer 'conexão remota' com o Windows7 antes do início do teste. Se eu fizer, não vou trabalhar.
Radek
Não consegui executar o 'tscon', mas o encontrei no diretório winsxs. Havia também arquivo mui. Copiei os dois para o meu diretório e de lá eu corro tscon ....
Radek
1
OK, então eu descobri se eu corro a tscon 1 /dest:consolepartir de uma linha de comando como administrador. Agora eu preciso descobrir como executar esse arquivo exe sempre como administrador.
Radek
Não se esqueça de executar o comando batch ( for /f ...) como administrador. Veja também support.smartbear.com/viewarticle/72794
bispo
Para aqueles que ainda têm problemas após desativar a proteção de tela, alguns ponteiros aqui superuser.com/questions/51416/…
binithb 2/15/15
1

Esta página diz que o problema está no bloqueio do sistema ao tentar executá-lo através de tarefas agendadas: http://www-01.ibm.com/support/docview.wss?uid=swg21304791

Configure o sistema para efetuar login automaticamente, desativar o protetor de tela e o bloqueio automático e veja se isso ajuda. Não conecte à máquina através da área de trabalho remota - isso bloqueará a sessão do console. Instale o vnc para efetuar login ou use qualquer método que o software da sua máquina virtual forneça. Na verdade, desative a área de trabalho remota para não bloquear o sistema por acidente.

Para configurar o logon automático, execute "control userpasswords2"

De acordo com o seguinte: http://support.microsoft.com/kb/302801 O Tscon deixaria a sessão desbloqueada no servidor 2003 (e, presumivelmente) xp. Este foi um erro que provavelmente foi corrigido nas versões mais recentes do Windows.

Conceder
fonte
Já configurei o login automático e o protetor de tela desativado. Como desativo o bloqueio automático?
Radek
Estou lendo a página da Microsoft e realmente não entendo como ela funciona ou deve funcionar. Quando a RFT funcionaria? Se o console estiver bloqueado ou não bloqueado? O que eu costumava fazer com o XP é que eu planejei reiniciar a caixa do XP, então o sistema registrou automaticamente o usuário rft e o usuário executou tscon.exe 0 /dest:consolee, em seguida, iniciou os testes. Esse fluxo não funciona no Windows7.
Radek
Eu acho que se você alternar para conectar via vnc em vez da área de trabalho remota, funcionará então. Usando desktop remoto irá travar a tela, que breaks rft`
Grant
A desativação do bloqueio deve ser feita para você, se você desativar a proteção de tela, verifique também se os modos de suspensão e desativação de monitores estão desativados no gerenciamento de energia.
Grant
Como o uso do vnc resolve esse problema? Se eu executar o RFT logo após a reinicialização e não havia conexão com a área de trabalho remota antes?
Radek