我需要确保应用程序始终在服务器上运行,作为服务运行,但对于一些原因我无法创建真正的窗口服务。我希望让此应用以用户身份运行,并拥有自己的桌面(不在 Session0 中)。我知道这是最糟糕的做法,但我没有其他解决方案。实现此目标的最佳方法是什么?
答案1
这是一个丑陋、粗暴的不安全(可能不建议)解决方案:
配置服务器计算机
AutoAdminLogon
具有交互式登录能力的用户。我们称该用户为“user1”。以该用户身份登录后,创建一个 .RDP 文件以登录到服务器计算机并保存将托管您要在终端服务中运行的应用程序的用户帐户的凭据。我们称此用户为“user2”。
将.RDP 文件保存到“user1”的“启动”程序组中。
在“user2”的“启动”程序组中保存需要启动的应用程序的快捷方式。
为“user1”和“user2”的“启动”程序组添加快捷方式,以便
rundll32.exe user32.dll,LockWorkStation
在登录后立即执行以锁定工作站。
当服务器启动时,它将以“user1”的身份登录,使用为“user2”保存的凭据启动终端服务客户端,然后锁定工作站。终端服务客户端将以“user2”的身份登录,在其自己的会话中启动您要运行的应用程序,然后锁定工作站。
这让我感觉有点肮脏。