2011. 12. 16. 12:37
매개 변수로 단일 프로세스 또는 프로세스 목록을 받아 모니터링 SystemCenter2011. 12. 16. 12:37
VBS VB Script SCOM System Center Operations Manager
매개 변수로 단일 프로세스 또는 프로세스 목록을 받아 모니터링
' 오류 상태 정의: Property[@Name='State'] 같음 Error
매개 변수로 단일 프로세스 또는 프로세스 목록을 받아 모니터링
' 오류 상태 정의: Property[@Name='State'] 같음 Error
' 정상 상태 정의: Property[@Name='State'] 같음 Normal
' 경고 설명: $Data/Context/Property[@Name='Message']$
Dim oAPI, oBag
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
Set oArgs = WScript.Arguments
' 모니터링 항목(매개 변수)이 없는 경우 종료
If oArgs.Count = 0 Then
Call oBag.AddValue("State", "Normal")
Call oBag.AddValue("Message", "모니터링 항목이 없습니다.")
Call oAPI.Return(oBag)
WScript.Quit
End If
State = "Normal"
Message = ""
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
For i = 0 to oArgs.Count - 1
Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = '"& oArgs(i) & "'")
If colProcesses.Count = 0 Then
Message = Message & oArgs(i) & ", "
State = "Error"
Call oBag.AddValue(oArgs(i), "실행 중이지 않음")
Else Call oBag.AddValue(oArgs(i), colProcesses.Count&"개 실행 중")
End If
Set colProcesses = Nothing
Next
Set objWMIService = Nothing
If State = "Error" Then
Message = Left(Message,Len(Message)-2) & " 프로세스가 실행 중이지 않습니다."
Else
Message = "모니터링 중인 모든 프로세스가 실행 중입니다."
End If
Call oBag.AddValue("State", State)
Call oBag.AddValue("Message", Message)
Call oAPI.Return(oBag)