单击 RDP 中的“重新启动”-> 返回到我的本地电脑-> 我不知道 RDP 何时会完全唤醒-> 无论何时唤醒,它都会自动登录

单击 RDP 中的“重新启动”-> 返回到我的本地电脑-> 我不知道 RDP 何时会完全唤醒-> 无论何时唤醒,它都会自动登录

我在 RDP 中有 2 个程序——1)A.bat 和 2)B.exe

A.bat 的执行过程如下:

步骤1:使用命令从互联网下载文件--

powershell -c "Invoke-WebRequest -Uri 'https://laptop-updates.brave.com/latest/winx64' -OutFile 'C:\Users\Administrator\Desktop\B.exe'"

步骤2:修改RegistryKey,使B.exe可以在 下次重新启动。用于此目的的命令--

reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v runonce /t REG_SZ /d "C:\Users\Administrator\Desktop\B.exe" /f

步骤 3(最后一步):重新启动 RDP。使用的命令--

shutdown /r /t 0

B.exe 的执行过程不是我们关心的。我的问题是当 A.bat 执行最后一个命令时,RDP 会话关闭并返回到我的本地 PC。RDP 需要一些时间才能完全唤醒。唤醒后,它不会自动登录到其桌面。我必须再次使用远程桌面连接手动登录到 RDP,以便 B.exe 可以运行。我只希望在重新启动后,RDP 自动登录到桌面,从而导致 B.exe 在启动时运行。

注意:在 Amazon EC2 实例中使用 Windows Server 2019 作为 RDP。

答案1

RDP 不会因为对方服务器重启而自动登录。您最多可以编写一个可以在您这边运行的脚本来执行登录,以便更轻松地启动远程会话。

您可以在 RDP 中将连接详细信息保存到.rdp文件中,完整指定连接、窗口大小、共享设备等参数。

要启动该.rdp文件,请使用 微机 命令:

mstsc path\connection-file.rdp

您可以将命令放在.bat文件中或桌面图标中,以便双击重新启动远程会话。

答案2

如果不知道 b.exe 到底是什么,就很难在此提出适当的策略。

但话虽如此,当远程服务器重新启动时,RDP 显然会断开连接。你无能为力,而且由于启动时间不同,在连接再次准备就绪后,没有简单的方法可以自动重新连接。

话虽如此,只是为了启动程序而登录服务器通常不是正确的方法。

正确的方法是将该程序变成服务,这样如果服务器重新启动,服务器就会自动启动,甚至不需要任何人登录。

有多种程序(免费)可以将任何程序转换为服务。Process Hacker 2(任务管理器替代品)就是其中之一,但还有更多。我相信微软的 SysInternals 也有一个可以做到这一点的程序。

因此,如果您希望 B.exe 在启动后始终运行,请将其转换为服务。您甚至可以从命令提示符创建服务。服务的唯一要求是您正在使用 .exe 文件,但这就是您所拥有的。

相关内容