2013-04-19 14 views
5

Ich habe eine VM, auf der ich eine automatisierte Aufgabe ausführen möchte (d. H. Die automatisierte Aufgabe wird auf der tatsächlichen VM ausgeführt).Automatisierte Sendeschlüssel schlagen fehl, wenn kein RDP

Die VM ist ein Windows 2008-Server.

Ich habe die Aufgabe in den Taskplaner hinzugefügt, und wenn ich über RDP bei der Maschine angemeldet bin, kann ich die Aufgabe ausführen, indem ich mit der rechten Maustaste auf Ausführen klicke.

Wenn jedoch meine RDP-Sitzung ausgeschaltet ist (aber der Benutzer auf der VM noch angemeldet ist), wird die Aufgabe ausgeführt, aber nur notepad.exe geöffnet, aber der Text wird nicht geschrieben.

Das VBS-Skript ist wie folgt (vereinfacht für unsere Verwendung hier ...);

Ich habe diese Aufgabe funktioniert perfekt auf einem Windows XP-Rechner und ich kann nicht verstehen, was das Problem verursacht.

Es scheint, als ob auf der VM keine Tastatur gefunden wird, wenn keine Verbindung über RDP besteht. Bei einer Verbindung über RDP sendet MSTSC die VM an meine Tastatur und kann dann die Aufgabe korrekt ausführen.

Danke,

David

Antwort

4

OK,

Also ich denkt, es herausgefunden ...

Das Problem ist, dass wenn Sie mit Remote-Desktop abmelden, dann ist der Server gesperrt und keine Skripte können ausgeführt werden. Ich habe verschiedene Optionen ausprobiert, einschließlich ControlSend- und ControlClick-Befehle, aber ohne Erfolg.

Die Lösung ist wie folgt: Erstellen Sie eine Batchdatei mit den folgenden Befehlen und es auf dem Desktop der Workstation speichern Sie entriegelten behalten möchten: ich genannt habe meine Datei 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 wird standardmäßig mit Ihrer Windows-Installation geliefert und wurde speziell dafür entwickelt, eine zuvor gesperrte Konsole frei zu lassen. Siehe diesen Link: http://support.microsoft.com/kb/302801

Das nächste Mal, wenn Sie mit Remote-Desktop auf die Arbeitsstation anmelden, nicht die normale Art und Weise abmelden, aber Sie Batchdatei ausführen - in meinem Fall „Logoff.bat“ Dies endet Ihre Remote-Desktop-Verbindung und Sie abmeldet, aber dann in einem entsperrten Zustand für alle Skripts weiter ausgeführt wird, als ob jemand tatsächlich angemeldet ist.

+0

danke. Du hast meinen Tag gerettet. –

Verwandte Themen