alertonproc = 0
alertonservice = 0
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" +computername +"\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("select * from win32_process where Caption = '" +InstanceName +"'")
total = 0
For Each objProcess in colProcesses
total = total + 1
Next
i = 1
if total >1 then
alertonproc = 1
Call oBag.AddValue("Deferred Process Error", "Multiple instances on the same computer")
Call oBag.AddValue("Computer ",computername)
for Each objProcess in colProcesses
Call oBag.AddValue("ProcessID" + CStr(i), objProcess.ProcessID)
Call oBag.AddValue("CreationDate" + CStr(i), CDate(WMIDateStringToDate(objProcess.CreationDate)))
i = i + 1
Next
end if
set servinfo=objWMIService.ExecQuery("select * from win32_service where name =" & """" & servicename & """")
if servinfo.Count = 0 then
Call oBag.AddValue("Service Error", "Not Installed")
Call oBag.AddValue("Report Computer " + cstr(i),computername)
Call oBag.AddValue("Service Name " + cstr(i),servicename)
Call oBag.AddValue("Service State " + cstr(i),"Not Installed")
alertonservice = 1
else
for each objservice in servinfo
if objservice.State <> "Running" or objservice.StartMode <> "Auto" then
Call oBag.AddValue("Reason", "Configuration Error")
Call oBag.AddValue("Report Computer " + cstr(i),computername)
Call oBag.AddValue("Service Name " + cstr(i),servicename)
Call oBag.AddValue("Service State "+ cstr(i),objservice.State)
Call oBag.AddValue("Service StartMode " + cstr(i),objservice.StartMode)
alertonservice = 1
end if
Next
end if
if alertonservice=1 or alertonproc=1 then
Call oBag.AddValue("State", "BAD")
else
Call oBag.AddValue("State", "GOOD")
end if