2013-04-19 4 views
5

자동 작업을 실행하려는 VM이 ​​있습니다 (즉, 자동화 된 작업이 실제 VM에서 실행 됨).RDP가 없을 때 자동화 된 보내기 키 실패

VM은 Windows 2008 서버입니다.

작업 스케줄러에 작업을 추가했으며 RDP를 통해 컴퓨터에 로그인 할 때 마우스 오른쪽 버튼을 클릭하여 작업을 실행할 수 있습니다.

그러나 내 RDP 세션이 해제되어 있지만 (VM의 사용자는 계속 로그인되어 있음) 작업은 실행을 시도하지만 notepad.exe 만 열리고 텍스트는 쓰지 않습니다.

vbs 스크립트는 다음과 같습니다 (여기서 사용하기 위해 단순화되었습니다.);

Set objShell = WScript.CreateObject("WScript.Shell") 
objShell.Run "Notepad.exe" 
Do Until Success = True 
Success = objShell.AppActivate("Notepad") 
Wscript.Sleep 1000 
Loop 
objShell.SendKeys "This is a test." 

이 작업은 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

감사합니다. 너는 내 하루를 구했다. –