web-dev-qa-db-ja.com

Windows 7でtsconを使用する方法

Windows 7仮想マシンでRFTとIE=を使用して夜間に自動化テストを実行する必要があります。テストを開始する前に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).

ランニング 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 returns

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

実行していることを再確認しましたtscon.exe 0 /dest:console on Windows XP問題を解決します。tsconコマンドの出力を理解できません。

Windowsボックスを自動的に再起動した後にRFTスクリプトを実行するにはどうすればよいですか?できれば、他のコンピュータを使用しないでください。古いWindowsを使用することさえ考えていましたXPリモートデスクトップセッションを作成してRFTを幸せにするため。他にもっと良い解決策があるといいのですが。

12
Radek

あなたの主要な問題に入る前に、あなたがメッセージを受け取っているという事実を指摘したいと思います

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

システムで何かが破損したことを示しています。 MUIは多言語ユーザーインターフェイスです。問題のWindows 7コンピューターは、「英語(米国)」以外の言語を使用するように設定されていますか? tsconが設定された言語でエラーメッセージを見つけて表示しようとしているようですが、使用する言語ファイルを見つけることができません。これは、より大きな問題の症状である可能性があります。そのコンピューターにインストールされているtscon.exeを使用していますが、別のコンピューターからコピーしたものではありませんよね?

スナップショットを撮った後sfc /scannowを実行し、tsconが同じエラーを出すかどうかを確認することで、この問題を修正できる場合があります。

主な問題については、tsconに提供する番号は、どのセッションIDに作用するかを示します。セッション0または1を使用しているかどうかを確認しましたか? query userを実行してセッションIDを確認し、その番号を使用します。

たとえば、サーバーの1つで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を取得していることを確認するためだったと思います。

13
Starfish

このページは、スケジュールされたタスクを実行しようとするとシステムがロックされることに問題があると述べています: http://www-01.ibm.com/support/docview.wss?uid=swg21304791

自動的にログインするようにシステムを設定し、スクリーンセーバーと自動ロックを無効にして、それが役立つかどうかを確認します。リモートデスクトップ経由でマシンに接続しないでください。コンソールセッションがロックされます。代わりにvncをインストールしてログインするか、仮想マシンソフトウェアが提供する方法を使用してください。実際、誤ってシステムをロックできないように、リモートデスクトップをオフにします。

自動ログインを設定するには、「control userpasswords2」を実行します

これによると: http://support.Microsoft.com/kb/302801 Tsconは実際にはサーバー2003(およびおそらく)XPでセッションのロックを解除したままにします。これは、新しいバージョンのWindowsで修正されている可能性が高いバグです。

1
Grant