重启后自动登录远程桌面会话

重启后自动登录远程桌面会话

我们有一个执行某些日志记录和报告的应用程序,它必须持续运行才能正常工作(显然开发人员没有听说过 Windows 服务)。通常我们只是让它们在断开连接的远程桌面会话中运行,以便我们可以远程连接以检查统计数据、报告等。它运行得很好。

但是,当服务器重新启动时,这些应用程序不会自动启动。这可能是一个问题,因为记录的数据具有高度的临时性,并且来自不同的服务器。有没有办法让这个日志服务器在启动时自动登录到断开连接的 RDP 会话?我以前做过自动控制台登录,但从来没有做过 RDP。如果可能的话,我只需将必要的程序放入启动中即可。

编辑后添加:

各种应用程序到服务的转换包装器之一可能有用,但我们特别希望保持接口可用,以便有人连接并使用该程序。即使没有人主动使用它,它也必须保持打开状态,并且当服务器重新启动(例如应用操作系统更新)时,程序不会自动重新启动。

答案1

我们的电话系统的一个元素也存在非常类似的问题。

假设 2008 就像 2003 一样,您可以自动登录控制台来启动应用程序,并在应用程序运行时通过 RDP 远程连接到现有会话。虽然不理想,但很实用。

@Bart 的解决方案确实是最好的选择(如果你能做到的话)。我提到的电话系统问题有一些奇怪的 GUI 挂钩问题,导致它无法正常工作。

答案2

在 Google 上搜索“将程序作为服务运行 Windows 2008”之类的内容,您会找到许多将可执行文件作为服务运行的程序。它可能很笨重,您必须测试它以查看它是否与您的应用程序兼容,因为您的程序设计为这样运行。不知道它会如何应对没有控制台显示的情况...但如果它将作为服务运行,它可能比让 RDP 会话保持运行更好。

实际上,您是在试图撬开一些东西,以适应它本来没有设计的功能;Windows 并不意味着运行 RDP 会话,而只是为了在启动会话时运行特定的应用程序,据我所知,没有办法让它这样做。

另一种方法是让另一个系统上运行一个监控程序,该程序可以“ping”服务器以检测特定服务是否存在,或者在启动时运行批处理/脚本文件,发送服务器重新启动的警报,以便有人可以登录并启动 RDP 会话。如果您已安装系统监控服务,可以检测服务器上的正常运行时间或特定进程的存在,这可能是您最好的解决方法。

答案3

您可以尝试使用任务计划程序创建自动化任务。在“触发器”选项卡下,您可以选择“启动时”。此外,在“常规”选项卡下,您可以选择以哪个用户身份运行该进程。您还可以尝试在“设置”选项卡下,如果任务失败,您可以选择是否重新启动该任务。

答案4

我们在运行 win 2008r2 的客户端服务器上执行此操作,没有遇到任何问题。它是虚拟化的,因此很容易进入控制台。该应用程序必须以交互方式运行,并且根本不以服务形式运行……首先,它不响应正常的 Windows 关机指令,并且会阻止系统关机,直到您手动干预。

MS 有一个名为 autologon.exe 的工具,可从 www.sysinternals.com 获取

运行正常。自动登录后,启动文件夹中只会有一个正常条目。

我不得不同意上述评论,这不是一个好主意 - 但当你面对一个必须打开才能工作的应用程序时,你没有太多选择。你能做的最好的事情就是向开发人员投诉。

相关内容