2013-04-19 25 views
5

Tôi có một máy ảo mà tôi muốn chạy một tác vụ tự động (nghĩa là tác vụ tự động chạy trên máy ảo thực).Phím gửi tự động không hoạt động khi không có RDP

VM là máy chủ Windows 2008.

Tôi đã thêm tác vụ vào công cụ lên lịch tác vụ và khi tôi đăng nhập vào máy qua RDP, tôi có thể chạy tác vụ bằng cách nhấp chuột phải, Chạy.

Tuy nhiên, khi phiên RDP của tôi bị tắt, (nhưng người dùng trên máy ảo vẫn đăng nhập) các nhiệm vụ chạy, nhưng chỉ mở notepad.exe, nhưng không viết văn bản.

Tập lệnh vbs như sau (được đơn giản hóa để sử dụng tại đây ...);

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." 

Tôi có nhiệm vụ này hoạt động hoàn hảo trên máy tính Windows XP và tôi không thể hiểu được nguyên nhân gây ra sự cố.

Dường như không có bàn phím nào được tìm thấy trên máy ảo khi không được kết nối qua RDP. Khi kết nối thông qua RDP MSTSC gửi VM bàn phím của tôi và sau đó có thể chạy nhiệm vụ một cách chính xác.

Cảm ơn,

David

Trả lời

4

OK,

Vì vậy, nghĩ rằng tôi figured it out ...

Vấn đề là một khi bạn đăng nhập với máy tính để bàn từ xa, sau đó máy chủ bị khóa và không có tập lệnh nào có thể chạy. Tôi đã thử các tùy chọn khác nhau, bao gồm các lệnh ControlSend và ControlClick, nhưng không thành công.

Giải pháp là như sau: Tạo một tập tin batch với các lệnh sau đây và lưu nó vào máy tính để bàn của máy trạm bạn muốn giữ mở khóa: Tôi đã đặt tên tập tin của tôi Logoff.bat

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 

Tscon.exe đi kèm với tiêu chuẩn cài đặt cửa sổ của bạn và được tạo ra đặc biệt để lại một bàn phím bị khóa trước đó đã khóa. Xem liên kết này: http://support.microsoft.com/kb/302801

Lần sau khi bạn đăng nhập vào máy trạm với máy tính để bàn từ xa, không thoát ra theo cách thông thường, nhưng chạy bạn tập tin thực thi - trong trường hợp của tôi "Logoff.bat" này sẽ chấm dứt của bạn Kết nối Remote Desktop và đăng xuất bạn, nhưng sau đó sẽ tiếp tục ở trạng thái mở khóa để mọi tập lệnh chạy như thể một người nào đó thực sự đã đăng nhập.

+0

cảm ơn bạn. Bạn đã cứu ngày của tôi. –

Các vấn đề liên quan