Hi @stuart williams ,
@XinGuo-MSFT already gave a hint how this can be accomplished - you need to create a Recovery Task for the Service Monitor (monitoring the service on Server A), which will then connect to Server B and will start the service there....
Here are a couple of refeerences, which depict the steps needed, you just need to adjust the script part to do this on Server B, instead of locally.
HOW DO I: MONITOR A SERVICE AND AUTOMATICALLY RESTART IT IF IT STOPS (SCOM 2012)
http://www.opsconfig.com/how-do-i-monitor-a-service-and-automatically-restart-it-if-it-stops-scom-2012/
SCOM 2012 – Recovery Task Script For Restarting A Windows Service And Depending Services
https://www.stefanroth.net/2012/11/14/scom-2012-recovery-task-script-for-restarting-a-windows-service-and-depending-services/
If I had to do this, I would definetely take the PowerShell way, just becasue it is a lot easier to do PowerShell remoting instead of using VBS or cmd commands to achieve the same. Here some hints:
Powershell as recovery task - SCOM 2016
https://social.technet.microsoft.com/Forums/en-US/0f57e65b-a1bf-4515-aee0-96beb6ff9a4b/powershell-as-recovery-task-scom-2016?forum=operationsmanagerauthoring
SCOM – Powershell Recovery Action – Stopped Windows Service
https://dynamicdatacenter.wordpress.com/2017/08/31/scom-powershell-recovery-action-stopped-windows-service/
Last, but not least: the actual way of doing this properlyy would be creating a Windows Failover clustre with Server A and B as nodes in the cluster and configuring the Service as a cluster resource. This way, if the service stops on Server A, Server B will step up and start the resource automatically.
I hope I could help you out!
----------
(If the reply was helpful please don't forget to upvote and/or accept as answer, thank you)
Regards
Stoyan Chalakov