我有一个无法通过远程桌面启动的应用程序(它会检查它是否通过 Windows 终端服务启动)。解决此问题的一种简单方法是使用其他远程桌面应用程序,例如 DameWare。这可行,但我想知道我是否可以继续使用 Windows 远程桌面,通过其他方式远程启动该应用程序。到目前为止,我还没能这样做:
- PsExec / BeyondExec / Windows 计划任务 - 该应用程序也能检测到这些任务(我认为它们也使用终端服务)
- Telnet - Telnet 会话似乎不是交互式的,我在远程桌面会话中看不到我启动的任何应用程序
我想我总是可以推出我自己的简单的“远程进程运行器”(使用.NET/WCF),只是想知道是否有现成的东西。
编辑我自己尝试也行不通,因为我必须运行从远程桌面构建的服务器应用程序,并且它产生的任何进程仍然在该上下文中
答案1
只要有用户登录到会话 1,您就可以使用任务计划程序执行此操作。远程桌面不会执行此操作,它将创建一个新的会话(编号 2),并在那里显示您的桌面。只有 VNC 或 TeamViewer 等远程工具才会连接到会话 1 中的桌面。
我怀疑,当您创建任务计划时,您以登录到远程桌面会话的用户启动了它,并且任务管理器尝试在会话 2 中启动它,因此失败了。
您创建一个没有触发器的计划任务,并以登录到会话 1 的用户身份创建。如果会话 1 中没有用户,那么您必须以某种方式创建一个,我只知道如何通过自动登录来执行此操作。
我知道这不是理想的,但这是我所知道的唯一可行的解决方案。