如何在Windows7上使用tscon?

我需要在Windows7虚拟机上使用RFT和IE运行一夜自动testing。 我发现在testing开始之前重新启动Windows框有帮助。

我正在将生产环境从Windows XP迁移到Windows 7.在运行RFT脚本时,RFT用于投诉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). 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).

运行tscon.exe 0 /dest:console之前启动任何RFT脚本修复Windows XP上的错误。 但不是在Windows7上。

我做了一些研究,并尝试了几个小时来解决,但没有任何帮助。 Windows7上没有启用屏幕保护程序。

我试图运行,但没有任何帮助。

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

在Windows7 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. 

在Windows XP上,tscon返回

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

我只是tscon.exe 0 /dest:console检查,在Windows XP上运行tscon.exe 0 /dest:console解决了这个问题。 无法理解tscon命令的输出。

任何想法如何我可以运行RFT脚本自动重新启动Windows框后? 最好不涉及任何其他计算机。 我甚至想用旧的Windows XP进行远程桌面会话,以使RFT开心。 我希望有更好的解决scheme。

在我谈到你的主要问题之前,我想指出一个事实,即你正在得到这个信息

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

表明系统上的某些内容已损坏。 MUI是多语言用户界面。 有问题的Windows 7计算机是否设置为使用“英语(美国)”以外的语言? 它看起来像tscon试图find并显示在您的configuration的语言错误信息,但它找不到它应该使用的语言文件。 这可能是一个更大问题的症状。 您正在使用安装在该计算机上的tscon.exe,而不是从另一台计算机上复制的tscon.exe,对吗?

您可以通过在拍摄快照后运行sfc /scannow并查看tscon是否给出相同的错误来纠正此问题。

至于你的主要问题,你提供给tscon的号码指出了哪个会话ID。 你有没有检查你是否使用会话0或1? 运行query user以查看您的会话ID是什么,然后使用该号码。

例如,我从我的一台服务器上的query user那里得到这个输出:

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

由于我的会话ID是2,我运行tscon 2 /dest:console将该会话发送到控制台。 当我去控制台并运行query user我看到以下内容:

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

我也在Windows 7 Pro桌面上testing了这个结果。

如果您已经成功完成上述命令,则可以将以下内容放入batch file中,然后运行它将当前会话发送到控制台。

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

它也应该消除需要重新启动计算机,我怀疑是确保你总是得到会议ID 0。

此页面说明了在尝试通过计划任务运行时系统被locking的问题: http : //www-01.ibm.com/support/docview.wss? uid= swg21304791

设置系统自动login,禁用屏幕保护程序和自动locking,看看是否有帮助。 不要通过远程桌面连接到计算机 – 这将locking控制台会话。 安装vnclogin,或使用您的虚拟机软件提供的任何方法。 事实上,请closures远程桌面,以免意外locking系统。

要设置自动login,请运行“control userpasswords2”

根据这个: http : //support.microsoft.com/kb/302801 Tscon实际上离开会话解锁在服务器2003(和,大概)xp。 这是一个在较新的Windows版本中可能已被纠正的错误。