Eric Smith
Guest
|
Posted:
Thu Nov 10, 2005 5:51 pm Post subject:
Help with a script |
|
|
Can someone help me with this script? If nothing else help me with setting
up debugging for it so that I can see where the problems with the script are?
It's supposed to be a remote active script monitor :)
Thanks
Const EVENT_TYPE_SUCCESS = 0
Const EVENT_TYPE_ERROR = 1
Const EVENT_TYPE_WARNING = 2
Const EVENT_TYPE_INFORMATION = 4
Const EVENT_TYPE_AUDITSUCCESS = 8
Const EVENT_TYPE_AUDITFAILURE = 16
set strComputer = ScriptContext.TargetComputer
strVarSetName = "ServiceFailureCounts"
set strVarSetVarName = ScriptContext.TargetComputer & "-ServiceFailureCount"
set objVarSet = GetSavedVarSet(strVarSetName)
On Error Resume Next
intVarSetVar = 0
set intVarSetVar = CLng(objVarSet.get(strVarSetName,strVarSetVarName))
If Err.number <> 0 then
call CreateVarSetVar(strVarSetVarName)
intVarSetVar = 0
set intVarSetVar = CLng(objVarSet.get(strVarSetName,strVarSetVarName))
else
end if
On Error Goto 0
if intVarSetVar < 3 then
set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set colListOfServices = objWMIService.ExecQuery _
("Select * from Win32_Service Where State = 'Stopped' and StartMode = " _
& "'Auto'")
if colListofServices.Count > 0
intVarSetVar = intVarSetVar + 1
for each objService in colListOfServices
objService.StartService()
strServiceName = objService.Name
Next
CreateEvent 10,EVENT_TYPE_ERROR,"Automated Service Manager","Service " &
strServiceName & " Failed on computer " & strComputer & "; service was
restarted."
call objVarSet.put(strVarSetName,intVarSetVar)
end if
if colListofServices.Count <= 0
call objVarSet.put(strVarSetVarName,0)
end if
else
set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set colListOfServices = objWMIService.ExecQuery _
("Select * from Win32_Service Where State = 'Stopped' and StartMode = " _
& "'Auto'")
if colListofServices.Count <= 0
call objVarSet.put(strVarSetVarName,0)
end if
end if
sub CreateEvent(intEventNumber,intEventType,strEventSource,strEventMessage)
Set objEvent = ScriptContext.CreateEvent()
objEvent.EventNumber = intEventNumber
objEvent.EventType = intEventType
objEvent.EventSource = strEventSource
objEvent.Message = strEventMessage
ScriptContext.Submit objEvent
end sub
sub CreateVarSetVar(strVarSetName,strVarSetVarName)
Dim objScriptState
Dim objVarSet
set objScriptState = ScriptContext.GetScriptState()
set objVarSet = objScriptState.GetSet(strVarSetName)
call objVarSet.put(strVarSetVarName,0)
call objScriptState.SaveSet(strVarSetName,objVarSet)
set objScriptState = Nothing
end sub
function GetSavedVarSet(strVarSetName)
Dim objScriptState
Dim objVarSet
set objScriptState = ScriptContext.GetScriptState()
set objVarSet = objScriptState.GetSet(strVarSetName)
set objScriptState = Nothing
set GetSavedVarSet = objVarSet
end function |
|