Вы можете проверить на веб-сайте, используя объект MSXML2.XMLHTTP (то есть тот же объект, который Internet Explorer использует для запуска AJAX-запросов) и проверяя код состояния (200 - состояние в порядке, 404 - страница не найдена и т. Д.)
dim http: set http = CreateObject("MSXML2.XMLHTTP")
http.open "GET", "http://site.com?param=value", false
http.send
if not http.status = 200 then
' something not right, start your service
end if
в том, что касается запуска службы, на этой странице приведено довольно много примеров работы со службами, из которых это как запустить один (дословно скопировано, не проверено):
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name='NetDDE'")
For each objService in colServiceList
errReturn = objService.StartService()
Next
Wscript.Sleep 20000
Set colServiceList = objWMIService.ExecQuery("Associators of " _
& "{Win32_Service.Name='NetDDE'} Where " _
& "AssocClass=Win32_DependentService " & "Role=Dependent" )
For each objService in colServiceList
objService.StartService()
Next
если служба, которую вы хотите запустить, - это IIS, то, возможно, вы обойдетесь без http-запроса и вместо этого непосредственно определите, работает ли служба IIS или нет