gpt4 book ai didi

vmware - 没有 RDP 时自动发送 key 失败

转载 作者:行者123 更新时间:2023-12-03 21:30:56 31 4
gpt4 key购买 nike

我有一个希望在其上运行自动化任务的 VM(即自动化任务在实际 VM 上运行)。

VM 是 Windows 2008 服务器。

我已将任务添加到任务调度程序中,当我通过 RDP 登录到机器时,我可以通过右键单击运行来运行任务。

但是,当我的 RDP session 关闭时(但 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 发送我的键盘,然后可以正确运行任务。

谢谢,

大卫

最佳答案

好的,

所以我想我想通了...

问题是,一旦您使用远程桌面注销,服务器就会被锁定,并且无法运行任何脚本。我尝试了各种选项,包括 ControlSend 和 ControlClick 命令,但没有任何成功。

解决方法如下:
使用以下命令创建一个批处理文件并将其保存到要保持解锁状态的工作站的桌面:
我已将我的文件命名为 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 是您的 Windows 安装的标准配置,专门用于使先前锁定的控制台保持解锁状态。
见此链接: http://support.microsoft.com/kb/302801

下次您使用远程桌面登录工作站时,不要以正常方式注销,而是运行批处理文件 - 在我的情况下为“Logoff.bat”
这将终止您的远程桌面连接并将您注销,但随后将继续以解锁状态运行任何脚本,就像有人实际登录一样。

关于vmware - 没有 RDP 时自动发送 key 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16102789/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com