Comment utiliser tscon sur Windows7?

12

Je dois exécuter des tests d'automatisation de nuit en utilisant RFT et IE sur une machine virtuelle Windows7. J'ai trouvé que le redémarrage de la boîte Windows avant le début des tests aide.

Je déplace l'environnement de production de Windows XP vers Windows 7. RFT se plaignait lors de l'exécution de scripts RFT qui 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).

L'exécution tscon.exe 0 /dest:consoleavant le démarrage de tout script RFT corrige l'erreur sur Windows XP. Mais pas sous Windows7.

J'ai fait des recherches et j'ai essayé pendant des heures de résoudre ce problème, mais rien n'a aidé. Aucun économiseur d'écran n'est activé sous Windows7.

J'ai essayé de lancer les deux mais rien n'y faisait.

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

Sur Windows7 tscon revient

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

Sur Windows XP, tscon revient

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

Je viens de vérifier que l'exécution tscon.exe 0 /dest:consolesur Windows XP résout le problème. Impossible de comprendre la sortie de la commande tscon alors.

Une idée comment je peux exécuter des scripts RFT après avoir redémarré automatiquement la boîte Windows? De préférence sans impliquer aucun autre ordinateur. Je pensais même à utiliser l'ancien Windows XP pour rendre la session de bureau à distance pour faire plaisir à RFT. J'espère qu'il y a une autre meilleure solution à cela.

Radek
la source
J'ai créé une autre question qui pourrait être liée. serverfault.com/questions/429364/…
Radek
Cela semble également prometteur msdn.microsoft.com/en-us/library/windows/hardware/gg463353.aspx ne sais pas ce que cela signifie pour moi.
Radek

Réponses:

13

Avant de passer à votre problème principal, je voudrais souligner que le fait que vous recevez le message

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

indique que quelque chose a été corrompu sur votre système. MUI est l'interface utilisateur multilingue. L'ordinateur Windows 7 en question est-il configuré pour utiliser une langue autre que «l'anglais (États-Unis)»? Il semble que tscon essaie de trouver et d'afficher un message d'erreur dans votre langue configurée, mais il ne peut pas trouver le fichier de langue qu'il doit utiliser. Cela peut être le symptôme d'un problème plus important. Vous utilisez tscon.exe qui a été installé sur cet ordinateur et non celui que vous avez copié à partir d'un autre ordinateur, non?

Vous pourrez peut-être corriger ce problème en exécutant sfc /scannowaprès avoir pris un instantané et voir si tscon donne la même erreur.

Quant à votre problème principal, le numéro que vous fournissez à tscon indique sur quel ID de session agir. Avez-vous vérifié si vous utilisez la session 0 ou 1? Exécutez query userpour voir quel est votre ID de session, puis utilisez ce numéro.

Par exemple, j'obtiens cette sortie query usersur l'un de mes serveurs:

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

Puisque mon ID de session est 2, je cours tscon 2 /dest:consolepour envoyer cette session à la console. Lorsque je vais sur la console et que query userje cours, je vois ce qui suit:

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

J'ai également testé cela sur un bureau Windows 7 Pro avec les mêmes résultats.

Si vous réussissez avec les commandes ci-dessus, vous pouvez mettre ce qui suit dans un fichier de commandes et l'exécuter pour envoyer votre session actuelle à la console.

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

Cela devrait également éliminer la nécessité de redémarrer l'ordinateur, ce qui, je pense, était de s'assurer que vous obteniez toujours l'ID de session 0.

Étoile de mer
la source
Très intéressant. Je dois me préparer et enquêter davantage lundi. À l'heure actuelle, je peux faire les tests après le redémarrage si je ne fais pas de «connexion à distance» à Windows7 avant le début des tests. Si je le fais, je ne travaillerai pas.
Radek
Je n'ai pas pu exécuter 'tscon' mais je l'ai trouvé dans le répertoire winsxs. Il y avait aussi un fichier mui. J'ai copié les deux dans mon répertoire et à partir de là, je lance tscon ....
Radek
1
OK, j'ai donc découvert que si je cours à tscon 1 /dest:consolepartir d'une ligne de commande en tant qu'administrateur, cela fonctionne. Maintenant, je dois découvrir comment exécuter ce fichier exe toujours en tant qu'administrateur.
Radek
N'oubliez pas d'exécuter la commande batch ( for /f ...) en tant qu'administrateur. Voir aussi support.smartbear.com/viewarticle/72794
évêque
Pour ceux qui ont encore des problèmes après avoir désactivé l'économiseur d'écran, quelques pointeurs ici superuser.com/questions/51416/…
binithb
1

Cette page indique que le problème est lié au verrouillage du système lors de la tentative d'exécution via des tâches planifiées: http://www-01.ibm.com/support/docview.wss?uid=swg21304791

Configurez le système pour vous connecter automatiquement, désactivez l'économiseur d'écran et le verrouillage automatique et voyez si cela aide. Ne vous connectez pas à la machine via le bureau à distance - cela verrouille la session de la console. Installez vnc pour vous connecter à la place ou utilisez la méthode fournie par votre logiciel de machine virtuelle. En fait, désactivez le bureau à distance afin de ne pas pouvoir verrouiller le système par accident.

Pour configurer la connexion automatique, exécutez "control userpasswords2"

Selon cela: http://support.microsoft.com/kb/302801 Tscon laisserait réellement la session déverrouillée dans le serveur 2003 (et, vraisemblablement) xp. Il s'agit d'un bug qui a probablement été corrigé dans les nouvelles versions de Windows.

Subvention
la source
J'ai déjà configuré la connexion automatique et l'économiseur d'écran désactivé. Comment désactiver le verrouillage automatique?
Radek
Je lis la page MS et je ne comprends vraiment pas comment cela fonctionne ou devrait fonctionner. Quand RFT fonctionnerait-il? Si la console est verrouillée ou non verrouillée? Ce que j'avais l'habitude de faire avec XP, c'est que j'avais prévu de redémarrer la boîte XP, puis le système a automatiquement enregistré l'utilisateur rft et l'utilisateur a couru tscon.exe 0 /dest:consolepuis démarré les tests. Ce flux ne fonctionne pas sous Windows7.
Radek
Je pense que si vous passez simplement à la connexion via vnc au lieu du bureau à distance, cela fonctionnera alors. L'utilisation du bureau à distance verrouillera l'écran, ce qui cassera rft »
Grant
La désactivation du verrouillage doit être effectuée pour vous si vous désactivez l'économiseur d'écran, assurez-vous également que la veille et la désactivation des moniteurs sont désactivées dans la gestion de l'alimentation.
Grant
Comment l'utilisation de vnc peut-elle résoudre ce problème? Si j'exécute RFT juste après le redémarrage et qu'il n'y avait pas de connexion de bureau à distance avant?
Radek