Para obter exatamente o que você pediu, você precisará de pelo menos um Linux com GUI ou Windows Server para colocar um script.
No linux / bash eu escrevi um monitoramento de ping script que executa um comando após o que provavelmente seria uma reinicialização do servidor (ping por um tempo).
O comando seria um script executando duas vezes um cliente rdp em segundo plano com certificados pré-aceitos e credenciais armazenadas válidas (uma para cada conexão) para o objeto de servidor de sua pergunta. Eu terminaria o script com um
sleep 60 && killall -9 rdpclientname
(como matar o cliente de rdp não terminará as sessões remotas que é parte do que você quer conseguir).
Tenho certeza de que você pode fazer isso com facilidade em um Lote do Windows em vez de bash se você quiser usar o Windows como cliente. Só não tenho certeza se você pode estabelecer várias conexões do mesmo cliente Windows para o mesmo servidor Windows. No mínimo, você terá que usar dois usuários diferentes executando o script duas vezes, eu acho. Se você não puder, terá que colocar esses scripts em duas máquinas diferentes de clientes Windows.
Se você optar por ir em um cliente Windows, o binário chamado pelo seu segundo script ativado pelo script de monitoramento ping será mstsc.exe e terá o caminho completo para a sessão salva pelo rdp-for-your-server .rdp, contendo certificados pré-aceitos e credenciais válidas.
No cliente Windows, você pode usar o srv2any para executar o mstsc e os scripts apenas iniciam e param os dois serviços. No win você usará o scheduler de tarefas, no Linux, crontab.
Para que isso funcione como você deseja, você terá que desabilitar o login automático no servidor Windows. Você pode então conseguir um login local atrasado seguindo this .
Esta solução tem, é claro, uma porcentagem de falhas em que o tempo de inatividade observado pelo script de monitoramento de ping não será devido a uma reinicialização do servidor. Mas os dois logins indesejados automatizados não vão doer muito nesse caso.
Você terá que trabalhar e testar bastante para conseguir isso. É por isso que o seguinte ...
Eu tentaria qualquer outra coisa possível antes de construir tal arranjo!
Em qualquer caso, como sugeri no meu comentário à sua pergunta, eu tentaria apenas iniciar o programa mal codificado através de srv2any no servidor. Você não mencionou essa tentativa na sua pergunta. Você já tentou isso?