Насколько я знаю, это невозможно. В RDP есть параметр автоматического переподключения, но он работает только в том случае, если соединение было разорвано из-за проблем с сетью и т. Д., Но сам отключенный сеанс RDP все еще доступен на сервере. Когда вы перезапускаете сервер через RDP, сеанс полностью закрывается, и поэтому клиент «знает», что для него не существует никакого сеанса на сервере.
Возможный обходной путь - написать простой сценарий для этого сценария. Как в Powershell:
While($i -ne 1) { Start-Process -FilePath "test.rdp" -Wait; }
Это перезапускает RDP-соединение (точнее, оно запускает совершенно новое) после его закрытия до тех пор, пока вы не остановите скрипт (нажав Ctrl + C или нажав кнопку Стоп в Powershell ISE).
Вы можете объединить его с сетевым пингом до фактического запуска соединения RDP и некоторыми выходными данными, чтобы узнать, что происходит в данный момент.
Try { Write-Host "Press CTRL+C to stop the script."; While($i -ne 1) { Write-Host "Pinging server..."; If (Test-Connection -ComputerName rdp-server.local -Count 1 -ErrorAction SilentlyContinue) { Write-Host "Ping OK. Starting RDP connection..."; Start-Process -FilePath "test.rdp" -Wait; Write-Host "RDP connection closed. Restarting..."; } Else { Write-Host "Ping failed. Retry..."; } } } Finally { Write-Host "CTRL+C pressed. Bye!"; }