Во-первых, туннель, бывает, рвётся, и для его автоматического восстановления нужен скрипт с бесконечным циклом типа такого
@for /l %%t IN () do @plink -batch "My tunnel"
Во-вторых, туннелю бы и правда желательно рваться, если он сломан. А на практике ssh устанавливает какие-то такие соединения, что может, кажется, сутками ни один пакет не проходить, а потом пройти, и соединение всё ещё открыто как ни в чём не бывало. Вот только с реалиями это плохо бьётся, и подвисание соединения просто остаётся незамеченным. Мне помогло задание удалённой команды ssh на печать точек.
while sleep 0.5; do echo -n .; done
Но вообще по опыту эксплуатации, через несколько суток хотя туннель вроде бы и работающий может быть, но какой-то всё равно плохо работающий по сравнению с тем, чтобы взять его и полностью перезапустить. У меня в конечном итоге появился QOTOM многопортовый x86 роутер с Proxmox VE, и там в LXC я нарулил systemd службу туннеля и перезапускалку для неё в cron повесил.
На Windows только из автозапуска гонял. Под Windows можно посоветовать от Denwer взять штучку, которая умеет программы сворачивать в лоток, в том числе консольные. Глаза не мозолят, но удобно при случае посмотреть, а что у них творится внутри.
На Windows я в планировщик (не в службы) добавлял скрипты, и с той поры осталось воспоминание, что у cmd.exe какие-то дурацкие права назначены, которые не позволяют его запустить из-под планировщика. Если к правам cmd.exe присмотреться и пошаманить, то начинает работать. Но это была эпоха, кажется, Windows XP и 2003.