SCOM で少し問題が発生しています。アプリケーションを監視するために、以下のスクリプトを作成しました。スクリプトが実行されると、イベント ログにエントリが作成され、モニターが実行されている特定のグループに対してアラートが構成されます。
私はスクリプトを正しく作成していないのでしょうか?
oAPI.Return(oBag)
これは、に変更したときに発生したエラーですoAPI.ReturnItems
午後 2 時 24 分 23 秒に開始されたプロセスは、System.PropertyBagData の作成に失敗しました。出力で見つかったエラー:
C:\Program Files\System Center Operations Manager\Agent\Health Service State\Monitoring Host Temporary Files 84\29451\voxwareMonitor.vbs(33, 2) Microsoft VBScript ランタイム エラー: 無効なプロシージャ コールまたは引数
Dim proc, serv, oArgs, oAPI, oBag
sComputerName = "."
Set objWMIService = GetObject("winmgmts:\\" & sComputerName & "\root\cimv2")
sQueryPro = "SELECT * FROM Win32_Process"
sQuerySer = "SELECT * FROM Win32_Service"
Set objProcs = objWMIService.ExecQuery(sQueryPro)
Set objServ = objWMIService.ExecQuery(sQuerySer)
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
For Each objItem In objProcs
If objItem.Name = "javaw.exe" Then
proc = True
End If
Next
For Each objS In objServ
If objS.Name = "vlsoperatorconsole_voxwarevls" Then
serv = True
End If
Next
If proc = True And serv = True Then
Call oBag.AddValue("Service", "Running")
Call oBag.AddValue("Process", "Running")
oAPI.LogScriptEvent "Voxware Monitor", 411, 0, "Application and Services are running"
Call oAPI.Return(oBag)
Else
If proc = False Then
Call oBag.AddValue("Process", "Stopped")
oAPI.LogScriptEvent "Voxware Monitor", 911, 1, "Process has stopped"
Call oAPI.Return(oBag)
End If
If serv = False Then
Call oBag.AddValue("Service", "Stopped")
oAPI.LogScriptEvent "Voxware Monitor", 911, 1, "Service has stopped"
Call oAPI.Return(oBag)
End If
End If