¿Cómo usar tscon en Windows7?

12

Necesito ejecutar pruebas de automatización durante la noche usando RFT e IE en una máquina virtual con Windows 7. Descubrí que reiniciar el cuadro de Windows antes de que comience la prueba ayuda.

Estoy moviendo el entorno de producción de Windows XP a Windows 7. RFT solía quejarse cuando ejecutaba 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).

La ejecución tscon.exe 0 /dest:consoleantes de iniciar cualquier script RFT corrige el error en Windows XP. Pero no en Windows7.

Investigué un poco e intenté durante horas solucionarlo, pero nada me ayudó. No hay protector de pantalla activado en Windows7.

Traté de correr los dos pero nada me ayudó.

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

En Windows7 regresa tscon

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

En Windows XP, tscon regresa

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

Acabo de comprobar que ejecutar tscon.exe 0 /dest:consoleWindows XP resuelve el problema. No se puede entender la salida del comando tscon entonces.

¿Alguna idea de cómo puedo ejecutar scripts RFT después de reiniciar el cuadro de Windows automáticamente? Preferiblemente sin involucrar a ninguna otra computadora. Incluso estaba pensando en usar el viejo Windows XP para hacer una sesión de escritorio remoto para hacer feliz a RFT. Espero que haya otra mejor solución para eso.

Radek
fuente
Creé otra pregunta que podría estar relacionada. serverfault.com/questions/429364/…
Radek
Además, esto parece prometedor msdn.microsoft.com/en-us/library/windows/hardware/gg463353.aspx no estoy seguro de lo que significa para mí.
Radek

Respuestas:

13

Antes de llegar a su problema principal, me gustaría señalar que el hecho de que está recibiendo el mensaje

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

es una indicación de que algo se ha dañado en su sistema. MUI es la interfaz de usuario multilingüe. ¿La computadora con Windows 7 en cuestión está configurada para usar un idioma que no sea "inglés (Estados Unidos)"? Parece que tscon está tratando de encontrar y mostrar un mensaje de error en su idioma configurado, pero no puede encontrar el archivo de idioma que debería usar. Esto puede ser un síntoma de un problema mayor. Estás usando tscon.exe que estaba instalado en esa computadora y no uno que copiaste de otra computadora, ¿verdad?

Es posible que pueda corregir este problema ejecutando sfc /scannowdespués de tomar una instantánea y ver si tscon da el mismo error.

En cuanto a su problema principal, el número que está proporcionando a tscon indica en qué ID de sesión actuar. ¿Ha verificado si está utilizando la sesión 0 o 1? Ejecute query userpara ver cuál es su ID de sesión y luego use ese número.

Por ejemplo, obtengo esta salida de query useruno de mis servidores:

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

Como mi ID de sesión es 2, corro tscon 2 /dest:consolepara enviar esa sesión a la consola. Cuando voy a la consola y ejecuto query user, veo lo siguiente:

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

También probé esto en un escritorio de Windows 7 Pro con los mismos resultados.

Si tiene éxito con los comandos anteriores, puede poner lo siguiente en un archivo por lotes y ejecutarlo para enviar su sesión actual a la consola.

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

También debería eliminar la necesidad de reiniciar la computadora, lo que sospecho fue asegurarme de que siempre tenga la ID de sesión 0.

Estrella de mar
fuente
Muy interesante. Necesito prepararme e investigar más el lunes. Ahora mismo puedo hacer la prueba después de reiniciar si no hago 'conexión remota' a Windows 7 antes de que comience la prueba. Si lo hago, no trabajaré.
Radek
No pude ejecutar 'tscon' pero luego lo encontré en el directorio winsxs. También había un archivo mui. Copié a ambos en mi directorio y desde allí ejecuté tscon ...
Radek
1
OK, entonces descubrí que si ejecuto tscon 1 /dest:consoledesde una línea de comando como administrador, funciona. Ahora necesito averiguar cómo ejecutar este archivo exe siempre como administrador.
Radek
No olvide ejecutar el comando por lotes ( for /f ...) como administrador. Consulte también support.smartbear.com/viewarticle/72794
obispo
Para aquellos que todavía tienen problemas después de desactivar el protector de pantalla, aquí algunas sugerencias superuser.com/questions/51416/...~~V~~plural~~3rd
binithb
1

Esta página dice que el problema está en el bloqueo del sistema al intentar ejecutarlo a través de tareas programadas: http://www-01.ibm.com/support/docview.wss?uid=swg21304791

Configure el sistema para iniciar sesión automáticamente, deshabilite el protector de pantalla y el bloqueo automático, y vea si eso ayuda. No se conecte a la máquina a través del escritorio remoto, ya que bloqueará la sesión de la consola. Instale vnc para iniciar sesión o use el método que le proporcione el software de su máquina virtual. De hecho, apague el escritorio remoto para que no pueda bloquear el sistema por accidente.

Para configurar el inicio de sesión automático, ejecute "control userpasswords2"

De acuerdo con esto: http://support.microsoft.com/kb/302801 Tscon realmente dejaría la sesión desbloqueada en el servidor 2003 (y, presumiblemente) xp. Este fue un error que probablemente se ha corregido en las nuevas versiones de Windows.

Conceder
fuente
Ya configuré el inicio de sesión automático y el protector de pantalla deshabilitado. ¿Cómo desactivo el bloqueo automático?
Radek
Estoy leyendo la página de MS y realmente no entiendo cómo funciona o debería funcionar. ¿Cuándo funcionaría RFT? Si la consola está bloqueada o no bloqueada? Lo que solía hacer con XP es que programaba reiniciar el cuadro XP, luego el sistema registraba automáticamente el usuario rft y el usuario corría tscon.exe 0 /dest:consoley luego comenzaba las pruebas. Este flujo no funciona en Windows7.
Radek
Creo que si cambias a la conexión a través de vnc en lugar de escritorio remoto, funcionará entonces. El uso de escritorio remoto bloqueará la pantalla, lo que rompe rft`
Grant
La desactivación del bloqueo debe realizarse si desactiva el protector de pantalla, también asegúrese de que dormir y apagar los monitores esté desactivado en la administración de energía.
Grant
¿Cómo puede usar vnc resolver este problema? ¿Si ejecuto RFT inmediatamente después de reiniciar y no había una conexión de escritorio remoto antes?
Radek