在我的 Windows Server 2008 EC2 实例中,当我通过 RDP 进入服务器时,它成功登录,但在桌面出现后,它会自动注销并关闭 RDP 会话并断开与服务器的连接。我尝试重新启动服务器,但行为没有任何变化。
这种行为可能是什么原因造成的?还有其他方法可以登录服务器吗?
答案1
似乎您指定的启动程序(不知何故)无法运行。登录后,启动程序失败,您的会话结束。
http://download.microsoft.com/download/8/2/f/82f0bbb9-1c53-4f2b-8a6a-9864cb4c73a5/TSWhatsNew.doc指出:
“组策略设置“连接时启动程序”将终端服务配置为在客户端连接到终端服务器时自动运行指定的程序。默认情况下,终端服务会话提供对完整 Windows 桌面的访问,除非服务器管理员已使用此策略设置另行指定,或者除非用户在配置客户端连接时已指定。启用此组策略设置将覆盖服务器管理员或用户所做的启动程序设置。不会显示“开始”菜单和 Windows 桌面,并且当用户退出程序时,终端服务器会话将自动注销。”
(了解终端服务在您的场景中提供远程桌面。)
“出现这种行为的原因”很可能是因为您的“启动”程序无法运行。
“任何其他方式登录服务器”值得怀疑。默认情况下,Telenet 启用网络,并且控制台上没有运行其他远程会话软件(例如 VNC)。
远程管理该计算机以更改组策略设置“连接时启动程序”可以解决您的问题,但除非服务器位于您具有管理权限的域中,否则无法对服务器进行远程管理。
很遗憾,您陷入了困境,除非您能弄清楚 Start 程序在寻找什么,并提供它。也许它需要打开一个端口、将代码传递给其启动环境参数,或者只是需要一个更大的实例类型。
答案2
“登录”服务器的其他方法可能包括 PSExec 或 WMI。它们不会为您提供 GUI,但通常足以清除阻止您登录的任何问题。使用有效的凭据,您可以从 CLI 远程执行命令,以清除给您带来麻烦的任何启动程序。
就此而言,您甚至可以使用 Windows“管理”驱动器共享(如 \server\C$)来访问文件系统并尝试从那里删除启动程序,但使用 PSExec 可能会更好。