Насколько я знаю, это невозможно. В 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!";
}