2013-04-19 19 views
5

自動化タスクを実行するVMがあります(つまり、自動化タスクは実際のVM上で実行されます)。RDPなしの自動送信キーが失敗する

VMはWindows 2008サーバーです。

タスクスケジューラにタスクを追加しました.RDP経由でマシンにログインしているときに、右クリックしてタスクを実行できます。

ただし、自分のRDPセッションがオフになっていても、VMのユーザーはまだログインしていますが、タスクは実行しようとしますがnotepad.exeを開きますが、テキストは書き込まれません。

vbsスクリプトは次のとおりです(ここでは簡略化しています)。

私はWindows XPマシンでこの作業を完璧に処理していますが、問題の原因を理解できません。

RDP経由で接続されていないと、VMにキーボードが見つからないようです。 RDP経由で接続されている場合MSTSCはVMに自分のキーボードを送信し、正しくタスクを実行できます。

おかげで、

デビッド

答えて

4

OK、

はので、私はそれを考え出したと思う...

問題は、リモートデスクトップでログアウト後に、サーバがあるということですスクリプトは実行できません。私はControlSendとControlClickコマンドを含むさまざまなオプションを試しましたが、成功することはありませんでした。

次のように解決策は以下のとおりです。 次のコマンドを使用してバッチファイルを作成し、ロック解除保持したいワークステーションのデスクトップに保存します。

START C:\Windows\System32\tscon.exe 0 /dest:console 
START C:\Windows\System32\tscon.exe 1 /dest:console 
START C:\Windows\System32\tscon.exe 2 /dest:console 
START C:\Windows\System32\tscon.exe 2 /dest:console 
START C:\Windows\System32\tscon.exe 3 /dest:console 
START C:\Windows\System32\tscon.exe 4 /dest:console 
START C:\Windows\System32\tscon.exe 5 /dest:console 

Logoff.batを私が命名した 私のファイルをTscon.exeは、Windowsのインストールに標準で付属し、以前にロックされたコンソールのロックを解除するために作成されます。 このリンクを参照してください:あなたは、リモートデスクトップとワークステーションにログインhttp://support.microsoft.com/kb/302801

次の時間は、通常の方法をログアウトが、バッチファイルあなたを実行していない - 私の場合、「Logoff.bat」に これはあなたを終了しますリモートデスクトップ接続してログアウトしますが、実際に誰かが実際にログインしているかのようにスクリプトを実行するには、ロックされていない状態で続行します。

+0

ありがとう。あなたは私の一日を救った。 –

関連する問題