如何在Windows7上使用tscon?


12

我需要在Windows7虚拟机上使用RFT和IE运行通宵的自动化测试。我发现在测试开始之前重新启动Windows框会有所帮助。

我将生产环境从Windows XP迁移到Windows7。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).

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命令的输出。

知道自动重启Windows框后如何运行RFT脚本的想法吗?最好不要涉及任何其他计算机。我什至在考虑使用旧的Windows XP进行远程桌面会话,以使RFT满意。我希望有其他更好的解决方案。


我提出了另一个可能相关的问题。serverfault.com/questions/429364/...
拉德克

同样,这看起来很有希望,msdn.microsoft.com / zh-cn / library / windows / hardware / gg463353.aspx不确定这对我意味着什么。
Radek 2012年

Answers:


13

在开始您的主要问题之前,我想指出一下,您正在获得信息

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

表示您的系统已损坏某些东西。MUI是多语言用户界面。问题7的Windows 7计算机是否设置为使用“英语(美国)”以外的语言?tscon似乎正在尝试使用您配置的语言查找并显示错误消息,但找不到所需的语言文件。这可能是更大问题的征兆。您正在使用安装在该计算机上的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桌面上对此进行了测试,结果相同。

如果上述命令成功完成,则可以将以下内容放入批处理文件中并运行该文件,以将当前会话发送到控制台。

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

它还应该消除重新启动计算机的需要,我怀疑这是要确保您始终获得会话ID 0。


很有意思。我需要准备并在星期一进行更多调查。现在,如果在测试开始之前不进行与Windows7的“远程连接”,则可以在重启后进行测试。如果我这样做,我将无法工作。
Radek 2012年

我无法运行“ tscon”,但随后在winsxs目录中找到了它。还有mui文件。我将它们都复制到我的目录中,然后从那里运行tscon...。–
Radek

1
好的,所以我发现是否可以tscon 1 /dest:console以管理员身份从命令行运行。现在,我需要了解如何始终以管理员身份运行此exe文件。
Radek 2012年

不要忘记以for /f ...管理员身份运行批处理命令()。另请参阅support.smartbear.com/viewarticle/72794
Bishop

对于那些谁仍然有禁止屏幕保护程序后的问题,一些指点这里superuser.com/questions/51416/...
binithb

1

本页显示问题在于尝试通过计划的任务运行系统时系统被锁定:http : //www-01.ibm.com/support/docview.wss? uid= swg21304791

将系统设置为自动登录,禁用屏幕保护程序和自动锁定,然后查看是否有帮助。不要通过远程桌面连接到计算机-这将锁定控制台会话。安装vnc代替登录,或使用虚拟机软件提供的任何方法。实际上,请关闭远程桌面,以免意外锁定系统。

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

据此:http : //support.microsoft.com/kb/302801 Tscon实际上会在服务器2003(可能是xp)中使会话保持解锁状态。此错误可能已在较新的Windows版本中得到纠正。


我已经设置了自动登录和禁用的屏幕保护程序。如何禁用自动锁定?
Radek 2012年

我正在阅读MS页面,但我真的不明白它是如何工作或应该工作的。RFT什么时候可以工作?控制台是否被锁定?我以前用XP进行的工作是计划重新启动XP框,然后系统自动记录rft用户,然后该用户运行tscon.exe 0 /dest:console,然后开始测试。此流程在Windows7上不起作用。
Radek 2012年

我认为,如果您仅切换到通过vnc而不是远程桌面进行连接,它将可以正常工作。使用远程桌面将锁定屏幕,这会破坏rft`
Grant

如果您禁用了屏幕保护程序,则应该为您执行禁用锁定的操作,同时还要确保在电源管理中禁用了睡眠和关闭显示器的功能。
Grant

使用vnc如何解决此问题?如果我在重新启动后立即运行RFT,并且之前没有远程桌面连接?
Radek 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.