Powershell would be a great way to monitor these services. Oddly enough, I was just reading a blog about this today. I will try to link the script if I can find it, but the general gist of it would be:
1.) Find services that are set to start automatically.
2.) Check the state of the service.
The trick is that the
get-service
cmdlet does not output any sort of 'StartupType', so you will have to use the Win32_Service WMI object instead.
Foreach($Server in $ServerList){
Get-WmiObject -ComputerName $Server Win32_Service |
Where-Object {$_.StartMode -eq 'Auto' -AND $_.State -eq 'Stopped'}
}
This should get you a list of services fitting your desired parameters.
NOTES
There are a couple of notes to this:
1.) I would highly recommend you have this script start a couple of minutes after the servers start up as the $_.StartMode -eq 'Auto' will encompass services set to start immediately after booting AND ones set to start automatically after a delay.
2.) There will be services that will be returned through this one-liner that you probably do not care about monitoring. (I.E. on my laptop, a service called "TrustedInstaller" fit this criteria and was returned as a stopped service :/ ) So you would most likely need to filter out these as well.